PHP

array_diff_assoc

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

array_diff_assoc - 通过附加索引检查计算数组的差异

描述

array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )

比较array1反对array2和收益之差。与array_diff()不同,数组键也用于比较。

参数

array1

要比较的数组

array2

一个数组来比较

...

更多的阵列可以进行比较

返回值

返回一个数组,其中包含所有来自array1其他数组中的值的数组。

示例

示例#1 array_diff_assoc()示例

在这个例子中,你会看到两个数组中都存在“a”=>“green”对,因此它不在函数的输出中。与此不同的是,输出对0 =>“red”在输出中,因为在第二个参数“red”中的键是1。

<?php $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red" $array2 = array("a" => "green", "yellow", "red" $result = array_diff_assoc($array1, $array2 print_r($result ?>

上面的例子将输出:

Array ( [b] => brown [c] => blue [0] => red )

示例#2 array_diff_assoc()示例

只有在(字符串)$ elem1 ===(字符串)$ elem2时,才能将key => value对中的两个值视为相等。换句话说,严格检查发生,所以字符串表示必须相同。

<?php $array1 = array(0, 1, 2 $array2 = array("00", "01", "2" $result = array_diff_assoc($array1, $array2 print_r($result ?>

上面的例子将输出:

Array ( [0] => 0 [1] => 1 )

注意

注意:此函数仅检查n维数组的一个维度当然,你可以通过使用array_diff_assoc($ array10,$ array20)来检查更深层次的维度

注意:确保在比较具有更多键的相似数组时,按照正确的顺序传递参数。新阵列应该是列表中的第一个。

另请参阅

  • array_diff() - 计算数组的差异

  • array_diff_uassoc() - 通过用户提供的回调函数执行附加索引检查来计算数组的差异

  • array_udiff_assoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据

  • array_udiff_uassoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据和索引

  • array_intersect() - 计算数组的交集

  • array_intersect_assoc() - 计算具有额外索引检查的数组的交集

← array_count_values

array_diff_key →