将键列表添加到多维数组



我会尽量简明扼要。例如:

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

演示


使用eval()的愚蠢的解决方案不应使用此选项我发布它只是为了好玩;)

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

演示

相关内容

  • 没有找到相关文章

最新更新