php数组从数组构建多维

时间:2014-06-16 01:47:56

标签: php arrays

我有一个

 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())));
    }
}

1 个答案:

答案 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)
              ...