【每日函数】每日函数(2021.08.07)
一梦千年系列
array_fill_keys1
使用指定的键和值填充数组
- 说明
array_fill_keys(array $keyArray, mixed $value) : array
- 参数
keyArray
使用该数组的值作为键名,非法值将被转换为字符串
value
填充数组所需的键值
- 返回值
返回填充后的数组
- 范例
$keyArray = ['name', 'age', 'sex'];
$value = 'test';
$newArray = array_fill_keys($keyArray, $value);
print_r($newArray);
以上范例会输出
Array
(
[name] => test
[age] => test
[sex] => test
)
- 特别注意
没有需要特别注意的
一梦千年系列
array_fill2
使用给定的值填充数组
- 说明
array_fill(int $start, int $count, mixed $value) : array
使用value填充count个元素到数组中,索引从start开始
- 参数
start
新数组的第一个索引值
count
新数组元素的个数
value
新数组的键值
- 返回值
返回一个数组,索引从start开始,元素个数是count,数组值是value
- 范例
$value = 'test';
$newArray = array_fill(2, 3, $value);
print_r($newArray);
以上范例输出
Array
(
[2] => test
[3] => test
[4] => test
)
- 特别说明
如果count小于0,则为抛出错误
一梦千年系列
array_filter3
- 说明
array_filter(array $array, callback $func = null, int $mode = 0) : array
遍历数组,将每个元素传递给func,如果返回true,则保留,否则遗弃,如果没有func参数,则是过滤掉空值
- 参数
array
需要过滤的数组
func
回调函数,如果没有此参数,则过滤掉所有空元素
mode
默认是值传数组的键值,ARRAY_FILTER_USE_KEY的话传的是键名,ARRAY_FILTER_USE_BOTH键名和键值一块传递
- 返回值
返回一个新数组,根据func过滤掉以后的数组
- 范例
$array = [
'name' => 'swk',
'age' => 27,
'sex' => 1
];
$newArray = array_filter($array, fn($value) => $value == 'swk');
print_r($newArray);
以上范例会输出
Array
(
[name] => swk
)
- 特别说明
返回的新数组的键名是保持不变的
一梦千年系列
array_flip4
交换数组的键名和键值
- 说明
array_flip(array $array) : array
- 参数
array
需要交换键名和键值的数组
- 返回值
返回一个数组,键名和键值进行交换,交换以后如果键名不合法,则自动删除不合法元素,并报警告,如果键名重复,后面的覆盖前面的,如果失败返回null
- 范例
$array = [
'name' => 'swk',
'age' => 27,
'sex' => 1
];
$newArray = array_flip($array);
print_r($newArray);
以上范例输出
Array
(
[swk] => name
[27] => age
[1] => sex
)
- 特别说明
键名不合法时,过滤掉该元素,键名重复时后面覆盖前面的
一梦千年系列
array_intersect_assoc5
带索引检查计算数组的交集
- 说明
array_intersect_assoc(array $array, array $array2, array ...) : array
- 参数
array
要检查得到的数组
array2
被比较使用的数组
...
更多比较使用的数组
- 返回值
返回一个存在于array中,同时也存在于其它数组的元素数组
- 范例
<?php
$array = [
'name' => 'swk',
'age' => 27,
'sex' => 1
];
$array2 = [
'name' => 'swk'
];
$newArray = array_intersect_assoc($array, $array2);
print_r($newArray);
以上范例输出
Array
(
[name] => swk
)
- 特别说明
键名和键值都会进行比较