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

Php 如何在没有循环的情况下将关联数组键与数组值匹配,php,arrays,multidimensional-array,foreach,matching,Php,Arrays,Multidimensional Array,Foreach,Matching,这个问题几乎说明了一切 我试图在php中将一个数组的键与另一个数组的值进行匹配,而不使用循环。谢谢:) 我可以通过将所有键命名为我想要匹配的值并将该值设置为null并检查键的交集来创建一个数组,但这似乎效率低下。如果有人知道的话,可能有一种更简单的方法:) 比如说 $array1 = array('photo' => 'foo.jpeg', 'audio' => 'bar.mp3'); $array2 = array('photo', 'audio', 'video'); 我正在尝


这个问题几乎说明了一切

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

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

比如说

$array1 = array('photo' => 'foo.jpeg', 'audio' => 'bar.mp3');
$array2 = array('photo', 'audio', 'video');
我正在尝试获取$array2的任何值,以便与$array1的任何键匹配。请尝试以下方法

<?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))));

我已经更新了问题,请检查当存在与
$array1
中的值相匹配时,您想要什么,
$array2
的索引?我想要获取与该值匹配的键。多维数组在哪里?如果没有循环,则需要分别测试每个键的存在性,例如,
array\u key\u exists('photo',$array1)等等。