PHP array_diff_assoc() 函数用法及示例

PHP Array 函数手册

定义和用法

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时,键=>值(key=>value)对中的两个值才视为相等。

<?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 Array 函数手册