이 재귀 요청에 점을 추가 한 이유는 $ 키에 거기에 얼마나 많은 요소 모르는
편집은, 그건 :
<?php
function array_md_push($keys, &$pushto, $value) {
if ($keys == array()) { // no keys left - put value
$pushto = $value;
} else { // keys left - recursion!
$key = array_shift($keys); // take the first element
array_md_push($keys, $pushto[$key], $value); // call with one key less
}
}
$keys = array('a', 'b', 'c');
$value = 'blah';
$pushto = array();
array_md_push($keys, $pushto, $value);
var_dump($pushto);
결과 :
array(1) {
["a"]=>
array(1) {
["b"]=>
array(1) {
["c"]=>
string(4) "blah"
}
}
}
array_md_push()
은 첫 번째 인수로 키를, 두 번째 값으로 푸시 할 배열 및 세 번째 값을 사용합니다. 키 배열이 비어 있으면 밀어 넣을 배열에 값을 저장합니다. 그렇지 않은 경우, 하나의 키가 덜한 자체를 호출하고 $pushto
이 해당 키로 확장됩니다.