2013-08-13 3 views
1

в PHP, если у меня есть два массива:PHP Получить ключи от одного массива пересекающихся значений

array1 = array('a', 'b', 'c'); 
array2 = array('b', 'c'); 

Есть ли функция комбинации функций, которые будут сравнивать значения двух массивов и вернуть ключи от 1 массив пересечения?

При желании в key с от array1, они будут 1 и 2 При желании в key с от array2, они будут 0 и 1

+0

Я думаю, что вы имели в виду ключи от array1 будет 1 и 2. –

+0

Да, спасибо, установил ее. – Ayen

ответ

2

Сравнить:

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

и

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

Вы ищете array_intersect

array_keys(array_intersect($array1, $array2)); 
0
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); 
Смежные вопросы