PHP array_diff_assoc() 函数



定义和用法

array_diff_assoc() 函数比较两个数组(或多个)数组并返回差异。

此函数比较两个(或多个)数组的键和值,并返回一个数组,该数组包含 array1 中的条目,但不存在于 array2 或 array3 等中。

此函数与 array_diff() 函数不同,因为 array_diff() 仅使用值与其他数组进行比较,而 array_diff_assoc() 函数在与其他数组进行比较时使用键和值。

语法

array array_diff_assoc( array $array1, array $array2 [, 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
)

示例

此示例阐明了只有当 (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
)
php_function_reference.htm
广告