如何在没有循环的情况下将关联数组键与数组值匹配

时间:2015-12-23 18:36:58

标签: php arrays multidimensional-array foreach matching


这个问题几乎说明了一切。

我试图将一个数组的键与php中的另一个数组的值匹配,而不使用循环。谢谢:))

我可以通过命名我要匹配的值的所有键来创建一个数组,并将值设置为null并检查键交集,但这似乎效率低下。如果有人知道,可能有一种更简单的方法:)

例如

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

我试图获取$ array2的任何值以匹配$ array1

的任何键

1 个答案:

答案 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))));