array_diff_key
(PHP 5 >= 5.1.0, PHP 7)
array_diff_key — Computes the difference of arrays using keys for comparison
Description
array_diff_key ( array $array , array ...$arrays ) : array
Compares the keys from array
against the keys from arrays
and returns the difference. This function is like array_diff() except the comparison is done on the keys instead of the values.
Parameters
-
array
-
The array to compare from
-
arrays
-
Arrays to compare against
Return Values
Returns an array containing all the entries from array
whose keys are absent from all of the other arrays.
Examples
Example #1 array_diff_key() example
The two keys from the key => value
pairs are considered equal only if (string) $key1 === (string) $key2
. In other words a strict type check is executed so the string representation must be the same.
<?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)); ?>
The above example will output:
array(3) { ["blue"]=> int(1) ["red"]=> int(2) ["purple"]=> int(4) }
<?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)); ?>
The above example will output:
array(2) { ["red"]=> int(2) ["purple"]=> int(4) }
Notes
Note:
This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using
array_diff_key($array1[0], $array2[0]);
.
See Also
- array_diff() - Computes the difference of arrays
- array_udiff() - Computes the difference of arrays by using a callback function for data comparison
- array_diff_assoc() - Computes the difference of arrays with additional index check
- array_diff_uassoc() - Computes the difference of arrays with additional index check which is performed by a user supplied callback function
- array_udiff_assoc() - Computes the difference of arrays with additional index check, compares data by a callback function
- array_udiff_uassoc() - Computes the difference of arrays with additional index check, compares data and indexes by a callback function
- array_diff_ukey() - Computes the difference of arrays using a callback function on the keys for comparison
- array_intersect() - Computes the intersection of arrays
- array_intersect_assoc() - Computes the intersection of arrays with additional index check
- array_intersect_uassoc() - Computes the intersection of arrays with additional index check, compares indexes by a callback function
- array_intersect_key() - Computes the intersection of arrays using keys for comparison
- array_intersect_ukey() - Computes the intersection of arrays using a callback function on the keys for comparison
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.array-diff-key.php