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

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

语法

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

说明:根据 array1 中的键名和 array2 进行比较,返回不同键名的项。 本函数和 array_diff() 相同,只不过改函数是根据键名来进行的而不是值。

参数

参数 描述
array1 必需。从这个数组进行比较 
array2 必需。针对此数组进行比较 
array3,... 可选。更多比较数组 

返回值

array_diff_key()  返回一个数组,该数组包括了所有出现在 array1 中但是未出现在任何其它参数数组中的键名的值。

 

以上是array_diff_key() 函数的语法和参数介绍,可能很多小伙伴看了上面的介绍仍然不知道该函数如何使用。 下面站长将用实例向小伙伴讲解该函数的用法。

实例:

<?php
    $array1  = array( \'blue\'   =>  1 ,  \'red\'   =>  2 ,  \'green\'   =>  3 ,  \'purple\'  =>  4 );
    $array2  = array( \'green\'  =>  5 ,  \'blue\'  =>  6 ,  \'yellow\'  =>  7 ,  \'cyan\'    =>  8 );

    var_dump ( array_diff_key ( $array1 ,  $array2 ));
?> 

在线运行

在 key => value 对中的两个键名仅在 (string) $key1 === (string) $key2  时被认为相等。换句话说,执行的是严格类型检查,因此字符串的表达必须完全一样

上面实例运行结果为:

array(2) {
  [\"red\"]=>
  int(2)
  [\"purple\"]=>
  int(4)
}

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

收藏 打印