JAyenGreen
JAyenGreen

Reputation: 1435

PHP Get keys from one array of intersected values

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 keys from array1, they would be 1 and 2 If wanting the keys from array2, they would be 0 and 1

Upvotes: 1

Views: 324

Answers (3)

Bere
Bere

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

DevZer0
DevZer0

Reputation: 13535

You're looking for array_intersect

array_keys(array_intersect($array1, $array2));

Upvotes: 2

Alma Do
Alma Do

Reputation: 37365

Compare:

$rgResult = array_keys(array_intersect($array1, $array2));

and

$rgResult = array_keys(array_intersect($array2, $array1));

Upvotes: 2

Related Questions