PHP array_diff_assoc() 函数实例详解

时间:2015-12-11
array_diff_assoc() 函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集。本文章通过实例讲解array_diff_assoc函数的使用方法及技巧。

array_diff_assoc() 函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集。

该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键名和键值。

先看一下函数的语法及参数:

array array_diff_assoc(array $array1,array $array2,array $...)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,... 可选。与第一个数组进行比较的其他数组。

返回值:返回数组,该数组包含所有在 array1 中,但是不在任何其他参数数组(array2 或 array3 等等)中的键名和键值。 

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

实例一:

<?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
)

实例二:

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

<?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
)

好了,关于array_diff_assoc()函数就讲这么多,需要学习更多关于php知识的朋友,可以阅读本网站的《PHP 教程