2015-12-23 2 views
-1


Вопрос в значительной степени говорит обо всем.Как совместить ассоциативные массивы массивов от значений массива без цикла

Im пытается сопоставить ключи одного массива, значениям другого в php, без использования цикла. Спасибо :)

Я мог бы создать массив, назвав все ключи значением, которое я хочу сопоставить, и установить значение в null и проверить пересечение ключей, но это просто кажется неэффективным. Там, вероятно, является более простым путем к нему, если кто-нибудь знает :)

Например

$array1 = array('photo' => 'foo.jpeg', 'audio' => 'bar.mp3'); 
$array2 = array('photo', 'audio', 'video'); 

Im пытается получить любое значение $ array2 в соответствии с любым из ключей $ array1

+0

Я обновил этот вопрос, пожалуйста, проверьте –

+0

Что вы хотите, когда есть совпадение значения от '$ array1', индекс' $ array2'? – chris85

+0

Я хочу захватить ключ, который соответствует значению. –

ответ

0

Попробуйте эти методы.

<?php 
$a = array_keys(array('photo' => 'foo.jpeg', 'audio' => 'bar.mp3')); 
$b = array('photo', 'audio', 'video'); 

//This will return empty array 
print_r(array_values(array_diff($a, $b))); 

//This will return array with "video". 
print_r(array_values(array_diff($b, $a))); 

//This will check Double sided array so the response 
// will be element missing from both arrays. 
print_r(array_values(array_merge(array_diff($b, $a), array_diff($a, $b)))); 
Смежные вопросы