Reputation: 1435
in php, if I have two arrays:
array1 = array('a', 'b', 'c');
array2 = array('b', 'c');
Is there a function of combination of functions that will compare the two arrays' values and return the keys from 1 array of the intersection?
If wanting the key
s from array1
, they would be 1
and 2
If wanting the key
s from array2
, they would be 0
and 1
Upvotes: 1
Views: 324
Reputation: 1747
array_keys($array1 = array('a', 'b', 'c'); $array2 = array('b', 'c');
$intersection = array_intersect($array1, $array2);
$keys = array();
foreach($intersection as $i){
$keys[]= array_search($i,$array1);
}
print_r($keys);
Upvotes: 0
Reputation: 13535
You're looking for array_intersect
array_keys(array_intersect($array1, $array2));
Upvotes: 2
Reputation: 37365
Compare:
$rgResult = array_keys(array_intersect($array1, $array2));
and
$rgResult = array_keys(array_intersect($array2, $array1));
Upvotes: 2