【发布时间】:2015-01-31 18:15:50
【问题描述】:
假设你有这个数组:
$object = array ('a' => array ( 'b' => array('c' = 'value'), 'd' => 3));
$indices = array ('a', 'b', 'c');
有没有一种简单的方法可以访问 $object['a']['b']['c'](来自 $indices 数组的键)?
这是我尝试过的:
function accessObjectKey ($object, $levels) {
if (is_string($levels))
$levels = explode ('.', $levels);
//
for ($i=0; $i<count($levels); $i++) {
if ($i == count($levels) && key_exists($levels[$i], $object)) {
$value = $object[$levels[$i]];
}
else {
$value = accessObjectKey ($object, array_shift($levels));
}
}
return $value;
}
谢谢
【问题讨论】:
-
你在函数的 $levels 参数中发送什么?
-
首先想到的是递归函数。