【每日函数】每日函数(2021.08.13)
一梦千年系列
今日函数
array_udiff_assoc
、array_udiff_uassoc
、array_udiff
、array_uintersect_assoc
、array_uintersect_uassoc
array_udiff_assoc1
带键名检查数组的差集,键值的比较使用自定义函数
- 说明
array_udiff_assoc(array $array1, array ..., callback $func) : array
- 参数
array1
计算差集的原数组
...
更多用于比较的数组
func
比较键值是否相同的自定义函数
- 返回值
返回一个差集数组,比较键名和键值,键值的比较使用自定义函数
- 范例
$array1 = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$array2 = [
'name' => 'zbj',
'age' => 22,
'sex' => 2
];
function func($a, $b) {
return 1;
}
$newArray = array_udiff_assoc($array1, $array2, 'func');
print_r($newArray);
以上范例会输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别注意
键名和键值一起比较,但是键值的比较是用自定义函数
array_udiff_uassoc2
带键名检查数组的差集,键名和键值的比较都使用自定义函数
- 说明
array_udiff_uassoc(array $array1, array ..., callback $value_compare_func, callback $key_compare_func) : array
- 参数
array1
计算差集的原数组
...
更多用于比较的数组
value_compare_func
比较键值是否相同的自定义函数
key_compare_func
比较键名是否相同的自定义函数
- 返回值
返回一个差集数组,键名和键值的比较都使用自定义函数
- 范例
$array1 = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$array2 = [
'name' => 'zbj',
'age' => 22,
'sex' => 2
];
function value_compare_func($a, $b) {
return 1;
}
function key_compare_func($a, $b) {
return 1;
}
$newArray = array_udiff_uassoc($array1, $array2, 'value_compare_func', 'key_compare_func');
print_r($newArray);
以上范例输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别说明
键名和键值都使用自定义函数比较
array_udiff3
使用自定义函数比较键值从而计算数组的差集
- 说明
array_udiff(array $array1, array ..., callback $func) : array
- 参数
array1
计算差集的数组
...
更多用于比较的数组
func
用于比较键值是否相同的自定义函数
- 返回值
返回一个差集数组,键值是否相同使用自定义函数比较
- 范例
$array1 = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$array2 = [
'name' => 'zbj',
'age' => 22,
'sex' => 2
];
function func($a, $b) {
return 1;
}
$newArray = array_udiff($array1, $array2, 'func');
print_r($newArray);
以上范例输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别说明
只比较键值,使用自定义函数比较键值
array_uintersect_assoc4
带索引检查数组的交集,使用自定义函数比较键值是否相同
- 说明
array_uintersect_assoc(array $array1, array ..., callback $func) : array
- 参数
array1
计算交集的数组
...
更多用于比较的数组
func
用于比较键值是否相同的自定义函数
- 返回值
返回一个交集数组,键值是否相同使用自定义函数比较
- 范例
$array1 = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$array2 = [
'name' => 'zbj',
'age' => 22,
'sex' => 2
];
function func($a, $b) {
return 0;
}
$newArray = array_uintersect_assoc($array1, $array2, 'func');
print_r($newArray);
以上范例输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别说明
带索引检查数组的交集,键值的比较使用自定义函数
array_uintersect_uassoc5
带索引检查数组的交集,使用自定义函数比较键名和键值是否相同
- 说明
array_uintersect_uassoc(array $array1, array ..., callback $value_compare_func, callback $key_compare_func) : array
- 参数
array1
计算交集的数组
...
更多用于比较的数组
value_compare_func
用于比较键值是否相同的自定义函数
key_compare_func
用于比较键名是否相同的自定义函数
- 返回值
返回一个交集数组,键名和键值是否相同都使用自定义函数比较
- 范例
$array1 = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$array2 = [
'name' => 'zbj',
'age' => 22,
'sex' => 2
];
function value_compare_func($a, $b) {
return 0;
}
function key_compare_func($a, $b) {
return 0;
}
$newArray = array_uintersect_uassoc($array1, $array2, 'value_compare_func', 'key_compare_func');
print_r($newArray);
以上范例输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别说明
键名和键值都使用自定义函数比较是否相同