문제

나는 간단하지만 분명하게하려고 노력할 것입니다. 예 :

$foo['test'] = array();
$foo2('test1','test2','test3','test4');
.

이 다차원 배열을 얻을 수있는 일종의 루프를 생성하는 것이 가능합니까? :

$foo['test']['test1']['test2']['test3']['test4'] = ...;
.

$ foo2 배열이 얼마나 오래 있을지 미리 알지 못합니다. 나는 내 질문이 분명하고 멈추지 않기를 바랍니다.

도움이 필요합니다! 미리 감사드립니다!

도움이 되었습니까?

해결책

이 유효한 사용 사례를 생각할 수 없습니다.그러나 참조 로이 작업 (수정 된 버전의 답변 )

$foo['test'] = array();
$foo2 = array('test1','test2','test3','test4');

$result = array();
$temp = &$result;

foreach($foo2 as $value) {
    $temp[$value] = array();
    $temp = &$temp[$value];
}
unset($temp);
$foo['test'] = $result;
var_dump($foo);
.

데모


"nofollow noreferrer"> eval()를 사용하는 어리석은 욕실 .> . 이것은 사용해서는 안됩니다. 나는 그것을 재미있게 게시하고 있습니다.)

$foo2 = array('test1','test2','test3','test4');
eval("\$res['".join("']['",$foo2)."']=[];");
$foo['test'] = $res;
.

데모

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top