質問

私は短くは熟練しようとします。 例えば:

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

この多次元配列を得るためにある種のループを作成することは可能ですか?:

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

$ foo 2配列がどのくらいの期間になるかを事前に知りません。 私の質問が明確で、尋ねるのをやめないことを願っています。

任意の助けは大歓迎です! 事前にありがとう!

役に立ちましたか?

解決

これに有効なユースケースを考えることはできません。しかし、あなたはこれを参照することができます(この回答

$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);
.

href="https://eval.in/136349" real="nofollow noreferrer"> デモ


eval() を使用した愚かな解決策これは使用しないでください。私はそれを楽しみのためだけに投稿しています;)

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

href="https://eval.in/136352" REL="NOFOLLOW NOREFERRER"> デモ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top