array_diff_key()

1. 定义

与函数array_diff()不同,该函数使用键名来对比第一个数组与后面一个或多个数组之间的差集。 返回第一个数组与后面多个数组的键名差集数组。

注:

  • 差集:AB的差集为,A集合中与B集合不相同的元素
  • 该函数只比较键名

2. 语法

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

3. 参数说明

参数 可选性 数据类型 描述
$array1 必需 数组 计算其差集的数组
$array2 必需 数组 被比较的数组
$... 可选 数组 被比较的数组

4. 示例

<?php

// array_diff_key()
// 使用键名来对比第一个数组与后面一个或多个数组之间的差集

$arr1 = ['name'=>'jisu', 'host'=>'https://www.jisuapi.com/', 'address'=>'杭州'];
$arr2 = ['name'=>'二狗', 'age'=>18];
$arr3 = ['name'=>'小甜甜', 'address'=>'不存在的地方'];

$diff = array_diff_key($arr1, $arr2);
var_dump($diff);
/* 输出:
array(2) {
  ["host"]=>
  string(24) "https://www.jisuapi.com/"
  ["address"]=>
  string(6) "杭州"
}
*/

$diff = array_diff_key($arr2, $arr3);
var_dump($diff);
/* 输出:
array(1) {
  ["age"]=>
  int(18)
}
*/

$diff = array_diff_key($arr1, $arr2, $arr3);
var_dump($diff);
/* 输出:
array(1) {
  ["host"]=>
  string(24) "https://www.jisuapi.com/"
}
*/

5. 延展阅读

  • 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():使用用户自定义的函数对两个数组的键名进行比较,比较第一个数组与后面数组的交集