array_diff_key通过比较键,计算数组的差集
/**
* Computes the difference of arrays using keys for comparison
* @link https://php.net/manual/en/function.array-diff-key.php
* @param array $array1 <p>
* The array to compare from
* </p>
* @param array $array2 <p>
* An array to compare against
* </p>
* @param array $_ [optional]
* @return array an array containing all the entries from
* array1 whose keys are not present in any of the
* other arrays.
* @meta
*/
function array_diff_key(array $array1, array $array2, array $_ = null) { }
示例:注意看,$array1和$array2中虽然都有值ccc,但是键不一样。
$array1 = [
'a' => 'aaa-1',
'b' => 'bbb-1',
'c' => 'ccc'
];
$array2 = [
'a' => 'aaa-2',
'd' => 'ddd-2',
'e' => 'ccc'
];
$result = array_diff_key($array1, $array2);
var_dump($result);
//结果
//array(2) {
// 'b' =>
// string(5) "bbb-1"
// 'c' =>
// string(3) "ccc" // 两个数组的值是相同的,键不同
//}