PHP array_diff_assoc() 函数
定义和用法
array_diff_assoc() 函数比较两个或更多个数组,并返回它们之间的差异。
该函数比较两个或更多个数组的键和值,并返回一个包含来自 array1 的条目但不在 array2 或 array3 等中出现的数组。
此函数与 array_diff() 函数不同,因为 array_diff() 仅使用值来与其他数组进行比较,而 array_diff_assoc() 函数在与其他数组进行比较时使用键和值。
语法
array array_diff_assoc( array array1, arrayarray2 [, array $array3...] );
参数
序号 | 参数及描述 |
---|---|
1 | array1(必需) 需要进行比较的数组 |
2 | array2(必需) 需要与第一个数组进行比较的数组 |
3 | array3(可选) 需要与第一个数组进行比较的数组 |
返回值
函数array_diff_assoc()返回一个数组,其中包含array1中的所有值,这些值在其他具有相同键的数组中都不存在。
PHP版本
这个函数首次在PHP版本4.3.0中引入。
示例
试试以下例子。在这个例子中,”a” => “orange”和”c” => “banana”都存在于两个数组中,所以在结果中不可用-
<?php
input1 = array( "a"=>"orange", "b"=>"mango", "c"=>"banana");input2 = array( "a"=>"orange", "b"=>"apple", "c"=>"banana");
print_r(array_diff_assoc(input1,input2));
?>
这将产生以下结果 –
Array
(
[b] => mango
)
示例
这里两个数组具有不同的键和所有键值对的对应值,例如“a”=>“orange”在第二个数组中不存在,同样其他键值对也不在第二个数组中,所以它们将在结果中可用-
<?php
input1 = array( "a"=>"orange", "b"=>"mango", "c"=>"banana");input2 = array( "a"=>"banana", "b"=>"apple", "c"=>"orange");
print_r(array_diff_assoc(input1,input2));
?>
这将产生如下结果 –
Array
(
[a] => orange
[b] => mango
[c] => banana
)
示例
这个示例清楚地表明,只有当(key => value)对中的两个值(string)elem1 === (string)elem2
时,它们才被认为是相等的。-
<?php
input1 = array(0, 5, 20);input2 = array("00", "05", "20");
result = array_diff_assoc(input1, input2);
print_r(result);
?>
这将产生以下结果-
Array
(
[0] => 0
[1] => 5
)