質問: 個数の決まっていない配列で、その個数分多次元化した配列を作り、値をセットする方法はあるのかと 作業中に気になったので質問させていただきました。 ```
回答: 超力業で解決するとこんなかんじ。(もっとスマートなやり方もあるかもしれないけど) ただ・・・なんのためにこんなことするの?という疑問が拭えない。 ``` $keys = array('a', 'b', 'c'); $value = 'hoge'; $keys2 = array_reverse($keys);//多次元配列の深い層から順に作るために$keysを逆順にした配列を用意 $array = array(); $cnt = count($keys2)-1;//繰り返しの上限値($keys≒$keys2の最後の添え字と同じ) $num = 0;//$keys2の添え字を指定する 兼 実行回数の管理 while($num<=$cnt): if($num==0)://ループの一番最初は、値にvalueをセット $array[$keys2[$num]]=$value; else: $array[$keys2[$num]] = $array;//2回目以降は、前回の実行結果の配列を挿入する //2回目以降は、直前の実行結果分を消していく $unset_num = $num-1; $unset = $keys2[$unset_num]; unset($array[$unset]); endif; ++$num; endwhile; print_r($array); ``` 実行結果 Array ( [a] => Array ( [b] => Array ( [c] => hoge ) ) )