Php 使用另一个数组的键从多维数组返回值
基本上这就是我所拥有的Php 使用另一个数组的键从多维数组返回值,php,arrays,Php,Arrays,基本上这就是我所拥有的 $foo = array( 'bar' = array( 'baz' = array( 5 ) ), ); 我还有另一个数组,里面有钥匙 $keys = array('bar','baz',0); 有没有办法用第二个数组中的键来获取第一个数组的值?我可能会尝试编写一些递归函数,最终完成这项工作,但我想知道是否有一种通过使用数组函数(这些函数不是很好)或其他方法来完成这项工作的好方法 注意:键不一定
$foo = array(
'bar' = array(
'baz' = array(
5
)
),
);
我还有另一个数组,里面有钥匙
$keys = array('bar','baz',0);
有没有办法用第二个数组中的键来获取第一个数组的值?我可能会尝试编写一些递归函数,最终完成这项工作,但我想知道是否有一种通过使用数组函数(这些函数不是很好)或其他方法来完成这项工作的好方法
注意:键不一定总是3。您可以尝试类似的方法,它应该可以工作
$arr = $foo;
foreach($keys as $key)
{
$arr = $arr[$key];
}
echo $arr; // 5
这可能就是你要找的。(无法100%确定这是否有帮助) 您可以在以下屏幕上看到所有阵列函数: 一些简单的方法可能会奏效:
/function.array-fill-keys.php
/function.array-fill.php
/function.array-keys.php
除了使用递归,没有其他方法了。你需要某种类型的
array\u reduce
,它接受两个数组参数并遍历这两个参数,这项任务过于专业化,无法使其成为内置函数。想想我在问这个问题之前就已经开始编写递归函数了,天哪!非常感谢。每次我说服自己,我认为问题越复杂,它实际上就越少。我就是这样,写了一些复杂的东西。是的,在这种情况下,不需要使用复杂的东西,比如纯recursion@Martijn我知道那种感觉D