首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

array_diff_key

(PHP 5 >= 5.1.0, PHP 7)

array_diff_key - 使用用于比较的键计算数组的差异

描述

代码语言:javascript
复制
array array_diff_key ( array $array1 , array $array2 [, array $... ] )

比较来自键array1的键array2和返回差异。这个函数就像array_diff(),除了在键上而不是数值上进行比较外。

参数

array1

要比较的数组

array2

一个数组来比较

...

更多的阵列可以进行比较

返回值

返回一个数组,其中包含所有array1其他数组中缺少键的条目。

示例

示例#1 array_diff_key()示例

只有在(字符串)$ key1 ===(字符串)$ key2时key => value对中的两个键才被认为是相等的。换句话说,执行严格的类型检查,所以字符串表示必须相同。

代码语言:javascript
复制
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);

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

上面的例子将输出:

代码语言:javascript
复制
array(3) {
  ["blue"]=>
  int(1)
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}
代码语言:javascript
复制
<?php
$array1 = array('blue' => 1, 'red'  => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
$array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8);

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

上面的例子将输出:

代码语言:javascript
复制
array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

注意

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

另请参阅

  • array_diff() - 计算数组的差异
  • array_udiff() - 通过使用回调函数进行数据比较来计算数组的差异
  • array_diff_assoc() - 通过附加索引检查计算数组的差异
  • array_diff_uassoc() - 通过用户提供的回调函数执行附加索引检查来计算数组的差异
  • array_udiff_assoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据
  • array_udiff_uassoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据和索引
  • array_diff_ukey() - 使用键上的回调函数计算数组的差异以进行比较
  • array_intersect() - 计算数组的交集
  • array_intersect_assoc() - 计算具有额外索引检查的数组的交集
  • array_intersect_uassoc() - 计算具有附加索引检查的数组的交集,通过回调函数比较索引
  • array_intersect_key() - 使用键比较计算数组的交集
  • array_intersect_ukey() - 使用键上的回调函数计算数组的交集以进行比较

← array_diff_assoc

array_diff_uassoc →

扫码关注腾讯云开发者

领取腾讯云代金券