PHP array_diff_assoc 函数
一、函数功能:
计算出第一个数组与其他数组的差集(考虑键名和键值)。比较两到多个数组,找出第一个数组中不包含在其他任何数组中的键名/值对。此函数和array_diff不同的是键名也参与比较。关于计算数组差集系列函数的区别请参考页面:PHP数组计算差集系列函数的区别。
二、函数语法:
三、函数参数:
四、返回值:
五、用法举例:
1、两个数组的比较:
例中可以看出,第一个数组中的元素,只有键值对同时包含在第二个数组中,才不会出现在结果数组中。
2、三个数组的比较:
3、array_diff_assoc是将数组值强制转换为"string"后进行"==="(全等于)比较:
由于false强制转换为string后为"",数组强制转换为string后为"Array",所以下面例子运行结果为一个空数组。
计算出第一个数组与其他数组的差集(考虑键名和键值)。比较两到多个数组,找出第一个数组中不包含在其他任何数组中的键名/值对。此函数和array_diff不同的是键名也参与比较。关于计算数组差集系列函数的区别请参考页面:PHP数组计算差集系列函数的区别。
二、函数语法:
array array_diff_assoc($array1, $array2 [, $...])
三、函数参数:
| 参数名 | 描述 |
|---|---|
| $array1 | 参与比较的第一个数组; |
| $array2 | 参与比较的第二个数组; |
| ... | 参与比较的更多数组; |
四、返回值:
返回带索引的比较第一个数组与其他数组的差集数组。
五、用法举例:
1、两个数组的比较:
例中可以看出,第一个数组中的元素,只有键值对同时包含在第二个数组中,才不会出现在结果数组中。
<?php
$arr1 = array('a'=>'aaa', 'b'=>"bbb", 'c'=>"ccc");
$arr2 = array('a'=>'aaa', 'c'=>"cc", 'bb'=>'bbb');
print_r(array_diff_assoc($arr1, $arr2));输出:Array
(
<strong> => bbb
[c] => ccc
)</strong>2、三个数组的比较:
<strong><?php
$arr1 = array('a'=>'爱E族', 'b'=>"百度", 'c'=>"aiezu.com");
$arr2 = array('a'=>'爱E族', "aiezu.com");
$arr3 = array('b'=>'百度');
print_r(array_diff_assoc($arr1, $arr2, $arr3));
</strong>输出:<strong>Array
(
[c] => aiezu.com
)</strong> 3、array_diff_assoc是将数组值强制转换为"string"后进行"==="(全等于)比较:
由于false强制转换为string后为"",数组强制转换为string后为"Array",所以下面例子运行结果为一个空数组。
<strong><?php
$arr1 = array("", array(1));
$arr2 = array(false, array(2));
print_r(array_diff_assoc($arr1, $arr2));</strong>输出:<strong>Array ( )</strong>