PHP 手册
后退 |  | 前进

# array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc -- 带索引检查计算数组的差集

## 说明

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

array_diff_assoc() 返回一个数组，该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 不同的是键名也用于比较。

例子 1. array_diff_assoc() 例子

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

上例将输出：

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

上面的例子中可以看到键值对 "a" => "green" 在两个数组中都有，因此不在本函数的输出中。与此不同，键值对 0 => "red" 出现在输出中是因为第二个参数中的 "red" 的键名是 1。

键值对 key => value 中的两个值仅在 (string) $elem1 === (string) $elem2 时被认为相等。也就是说使用了严格检查，字符串的表达必须相同。

> 注: 注意本函数只检查了多维数组中的一维。当然可以用 array_diff_assoc($array1[0], $array2[0]); 检查更深的维度。

参见 array_diff()，array_intersect() 和 array_intersect_assoc()。

后退 | 起点 | 前进
array_count_values | 上一级 | array_diff_key