여러 키를 눌러 I 다음과 같은 배열이 있습니다배열이 배열 또는 문자열
$array = array('23' => array('19' => array('7' => array('id' => 7, 'name' => 'John Doe'))));
Array
(
[23] => Array
(
[19] => Array
(
[7] => Array
(
[id] => 7
[name] => John Doe
)
)
)
)
내가 하위 요소에 액세스하려면 내가 그 23 19 7
자신의 서브 키를 알고있다. 나는 간단한 형식
echo $array['23']['19']['7']['name']; // John Doe
하여이 작업을 수행 할 수 있습니다 그러나 이러한 배열은 불과 3 수준이이 다를 수 있습니다, 더 많거나 이하. 배열 unlimited level
을 만들어야합니다.
$keys = array('23', '19', '7');
echo $array[$keys]['name'];
을 물론 내가 Warning: Illegal offset type in
오류가 발생했습니다 :
function brackets($str) {
return sprintf("['%s']", $str);
}
$keys = array('23', '19', '7');
$string_key = implode('', array_map('brackets', $keys)); // ['23']['19']['7']
echo $array{$string_key}['name'];