每日函数(2021.08.06)
一梦千年系列
array_diff_assoc1
带索引检查数组的差集
- 说明
array_diff_assoc(array $array1, array $array2, ...) : array
返回一个数组,array1中有,而array2中没有的元素
- 参数
array1
需要得出差集的数组
array2
被比较的数组
...
更多被比较的数组
- 返回值
返回一个数组,在array1中,但是不在array2以及后面数组中
- 范例
$array1 = [1, 2, 3];
$array2 = [2, 3, 1];
$newArray = array_diff_assoc($array1, $array2);
print_r($newArray);
以上范例会输出
Array
(
[0] => 1
[1] => 2
[2] => 3
)
- 特别注意
需要注意的是这个函数计算差集的时候需要把键名算进去,一起比较
一梦千年系列
array_diff_key2
使用键名比较差集
- 说明
array_diff_key(arrar $array1, array $array2, ...) : array
返回一个数组,键名存在于array1中,但是不存在于array2中
- 参数
array1
用于比较的数组
array2
被比较的数组
...
更多被比较的数组
- 返回值
返回一个数组,键名存在于array1中,但不存在于其它数组中
- 范例
$array1 = [1, 2, 3, 4];
$array2 = [2, 3, 1];
$newArray = array_diff_key($array1, $array2);
print_r($newArray);
以上范例输出
Array
(
[3] => 4
)
- 特别说明
注意是只比较键名
一梦千年系列
array_diff_uassoc3
使用用户自定义函数检查索引是否相同,从而计算差集
- 说明
array_diff_uassoc(array $array1, array $array2, ..., callable $func) : array
- 参数
array1
用于比较的数组
array2
被比较的数组
...
更多被比较的数组
func
用户自定义计算索引是否相同的函数
- 返回值
返回一个数组,使用自定义函数检查键名是否相同,从而计算差集
- 范例
$array1 = [‘name‘ => ‘swk‘];
$array2 = [‘nickname‘ => ‘swk‘];
function func($a, $b)
{
return 0; // 返回0或者不返回表示相同,其它的表示不相同
}
$newArray = array_diff_uassoc($array1, $array2, ‘func‘);
print_r($newArray);
- 特别说明
用户自定义函数只是用于比较键名的,键值还是真实比较的
一梦千年系列
array_diff_ukey4
使用自定义函数检查键名是否相同,从而计算差集,只比较键名,不比较键值
- 说明
array_diff_ukey(array $array1, array $array2, ..., callable $func) : array
返回一个数组,使用用户自定义函数检查不相同的键名
- 参数
array1
用户比较打的数组
array2
被比较的数组
...
更多被比较的数组
func
用户自定义函数,用于比较键名是否相同
- 返回值
返回一个数组,使用自定义函数检查不相同的键名
- 范例
$array1 = [‘name‘ => ‘swk‘, ‘age‘ => 20];
$array2 = [‘name‘ => ‘swk‘];
function func($a, $b)
{
return 0; // 返回0或者不返回表示相同,其它的表示不相同
}
$newArray = array_diff_ukey($array1, $array2, ‘func‘);
print_r($newArray);
以上范例输出
Array
(
)
- 特别说明
使用用户自定义函数只比较键名
一梦千年系列
array_diff5
计算数组的差集,只比较键值
- 说明
array_diff(array $array1, array $array2, ...) : array
返回一个数组,存在于array1中,不存在于其它数组中
- 参数
array1
用于比较的数组
arrray2
被比较的数组
...
更多被比较的数组
- 返回值
返回一个数组,存在于array1中,不存在其它数组中,只比较键值
- 范例
$array1 = [1, 2, 3];
$array2 = [2, 3, 1];
$newArray = array_diff($array1, $array2);
print_r($newArray);
以上范例输出
Array
(
)
- 特别说明
只比较键值