大家好日子。
我有一个常规数组(这是print_r结果,数组可以有1到n个位置):
Array
(
[1] => value1
[2] => value2
[3] => value3
)
我在其他地方定义了另一个数组:
$array_def['value1']['value2']['value3'] = array(
'fl' => 'field1',
'f2' => 'field2',
);
使用第一个数组结果,我如何检查$ array_def是否存在?换句话说,我需要使用平面数组值来检查是否存在多维数组通信;请记住,值可以在第一个数组中重复,因此使用键翻转值不是一个选项,因为它会碰撞并删除重复的值。
提前致谢。
答案 0 :(得分:1)
你可以这样做:
$a = array(1=>'value1', 2=>'value2', 3=>'value3');
$array_def[$a[1]][$a[2]][$a[3]] = array(
'fl' => 'field1',
'f2' => 'field2',
);
我认为没有任何快捷方式或特殊的内置功能可以做到这一点。
答案 1 :(得分:0)
为您找到完美的功能。返回不仅存在,而且位于多维数组中。
http://www.php.net/manual/en/function.array-search.php#47116
日期:2004年11月3日至11:13 复制/粘贴太多
然后你可以循环你的平面阵列和foreach:
multi_array_search($ search_value,$ the_array)