2012-02-26 147 views
2

说我有这个作为一个PHP数组创建一个从未知数值数组一个PHP嵌套数组

$my = array('Google','Api','Key'); 

如何创建一个嵌套的数组,因此结束了这样

$new = array('Google'=>array('Api'=>array('key'=>'Some Value'); 

它必须是动态的,因为我不知道我有多少个元素。

我花了8个小时尝试,失败的任何帮助,将不胜感激。

我编辑过这个,因为我需要$ my数组中的最后一个元素来设置值。我将如何做到这一点。

感谢

+0

说实话马特我已经尝试了这么多东西我有我自己的所有confussed。我的头告诉我我需要使用递归。我遇到的麻烦是得到我添加的前面的数组。我似乎总是以1维数组结尾 – Chris 2012-02-26 03:36:53

回答

4
function build_recursive_array($array) 
{ 
    if(sizeof($array) < 1) return array(); 

    $key = array_shift($array); 
    return array($key => build_recursive_array($array)); 
} 
print_r(build_recursive_array(array('Google','Api','Key'))); 
+0

优雅和递归。做得好。 – Matt 2012-02-26 03:39:38

+0

+1 |做得好,在我之前。 ; P虽然使用'empty()'而不是'sizeof()'。 – animuson 2012-02-26 03:39:42

+0

谢谢,你真的帮了我。该功能是理想的。 – Chris 2012-02-26 03:41:53