(PHP 4 >= 4.3.0, PHP 5, PHP 7)
array_intersect_assoc — Computes the intersection of arrays with additional index check
$array1
, array $array2
[, array $...
] )
array_intersect_assoc() returns an array
containing all the values of array1
that are present in all the arguments. Note that the keys are used in
the comparison unlike in array_intersect().
array1The array with master values to check.
array2An array to compare values against.
...A variable list of arrays to compare.
Returns an associative array containing all the values in
array1 that are present in all of the arguments.
Example #1 array_intersect_assoc() example
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>
The above example will output:
Array
(
[a] => green
)
In our example you see that only the pair "a" => "green" is present in both arrays and thus is returned. The value "red" is not returned because in $array1 its key is 0 while the key of "red" in $array2 is 1, and the key "b" is not returned because its values are different in each array.
The two values from the key => value pairs are considered equal only if (string) $elem1 === (string) $elem2 . In other words a strict type check is executed so the string representation must be the same.