【每日函数】每日函数(2021.08.14)
一梦千年系列
今日函数
array_uintersect
、array_unique
、array_unshift
、array_values
、array_walk_recursive
array_uintersect1
计算数组的交集,只比较键值
- 说明
array_uintersect(array $array, array ..., callback $func) : array
- 参数
array
计算交集的原数组
...
更多用于比较的数组
func
比较键值是否相同的自定义函数
- 返回值
返回一个交易数组,只比较键值,使用自定义函数比较
- 范例
$array1 = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$array2 = [
'name' => 'zbj',
'age' => 22,
'sex' => 2
];
function func($a, $b) {
return 0;
}
$newArray = array_uintersect($array1, $array2, 'func');
print_r($newArray);
以上范例会输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别注意
只比较键值,用户自定义函数比较的时候返回0表示相同,非0表示不同
array_unique2
移除数组中重复的值
- 说明
array_unique(array $array, int $sort_flags = SORT_STRING) : array
- 参数
array
需要操作的数组
sort_flags
移除重复的键值项的时候,需要先进行键值排序,后面的被移除到,这个参数是决定排序的,一般用不到
- 返回值
返回一个数组,把重复的键值项移除掉
- 范例
$array = [4, 1, 7, 1, 9, 4];
$newArray = array_unique($array);
print_r($newArray);
以上范例输出
Array
(
[0] => 4
[1] => 1
[2] => 7
[4] => 9
)
- 特别说明
移除数组中重复的值
array_unshift3
向数组开头插入一个或者多个值
- 说明
array_unshift(array &$array, mixed ...) : int
- 参数
array
需要操作的数组
...
插入的值
- 返回值
返回新数组元素的个数
- 范例
$array = [4, 1, 7];
array_unshift($array, 1, 2);
print_r($array);
以上范例输出
Array
(
[0] => 1
[1] => 2
[2] => 4
[3] => 1
[4] => 7
)
- 特别说明
向数组开头插入一个或者多个值
array_values4
返回数组中所有的值组成的新数组
- 说明
array_values(array $array) : array
- 参数
array
需要操作的数组
- 返回值
返回一个新数组,只包含原数组的键值
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$newArray = array_values($array);
print_r($newArray);
以上范例输出
Array
(
[0] => swk
[1] => 22
[2] => 1
)
- 特别说明
返回数组中所有值组成的索引数组
array_walk_recursive5
对数组中每个元素递归的执行回调函数
- 说明
array_walk_recursive(array &$array, callback $func, mixed $customer_data = null) : bool
- 参数
array
需要操作的数组
func
默认情况接受俩个参数,键值和键名,如果customer_data有值,则是第三个参数
customer_data
用户自定义数据
- 返回值
成功是返回true,失败返回false
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
function func($value, $key)
{
// 自定义处理过程
echo $value . "\r\n";
}
array_walk_recursive($array, 'func');
以上范例输出
swk
22
1
- 特别说明
对数组中的每个元素递归的执行回调函数