我有一个
array('frank','john','dan')
我需要从那个构建
array('frank'=>array('john'=>array('dan'=>array())
它必须是动态的,因为我不会总是知道初始数组中有多少个键
我尝试了一些东西,但不得不承认我很难过。
问题似乎是我不能为数组分配可变数量的维度,其中任何时候我将数组键分配给largearray变量,它必须分配给变量的根
$keys = array('base','frank','john');
foreach ($keys as $k => $key) {
if ($k>0) {
$largearray[$keys[$k-1]] = array($key=>array());
}elseif ($k>1) {
$largearray = array_push($largearray[$keys[$k-2]], array($keys[$k-1]=>array($key=>array())));
}
}
答案 0 :(得分:2)
我希望这就是你要找的东西
$arr = array('frank','john','dan');
$finalArr = array();
for ($x=count($arr) - 1; $x >= 0; $x--) {
$arrElement = $arr[$x];
$finalArr = array($arrElement => $finalArr);
}
var_dump($finalArr);
这将导致
array (size=1)
'frank' =>
array (size=1)
'john' =>
array (size=1)
'dan' =>
array (size=0)
...