使用数组值作为另一个数组键

时间:2010-10-08 21:40:40

标签: php arrays associative-array

大家好日子。

我有一个常规数组(这是print_r结果,数组可以有1到n个位置):

Array
(
    [1] => value1
    [2] => value2
    [3] => value3
)

我在其他地方定义了另一个数组:

$array_def['value1']['value2']['value3'] = array(
 'fl' => 'field1',
 'f2' => 'field2',
);

使用第一个数组结果,我如何检查$ array_def是否存在?换句话说,我需要使用平面数组值来检查是否存在多维数组通信;请记住,值可以在第一个数组中重复,因此使用键翻转值不是一个选项,因为它会碰撞并删除重复的值。

提前致谢。

2 个答案:

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