(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().
array1
The array with master values to check.
array2
An 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.