我们如何将单维数组转换为多维Hierarchical?

时间:2010-05-27 12:11:09

标签: php loops multidimensional-array

我有一个Hierarchical类别数组。数组的索引是category_id,如::

[8846] => Array
    (
        [category_id] => 8846
        [title] => Tsting two
        [description] => Tsting two
        [subtype] => categories
        [type] => object
        [level] => 2
        [parent_category] => 8841
        [tags] => new
        [name] => Tsting two
    )

每个值都有其parent_category值,我在数组中有大约500个元素,最好的方法是什么。

我遵循的流程:

krsort categories数组,以便所有子类别都在开头,然后

function makeHierarchical() {
  foreach($this->categories as $guid => $category) {
    if($category['level'] != 1)
    $this->multilevel_categories[$category['parent_category']][$guid] = $category;
}

}

但这不起作用,它仅适用于第一级。

有人能指出我的错误。

1 个答案:

答案 0 :(得分:1)

您可以将我昨天发布的答案用于类似的问题:

  
    

Convert a series of parent-child relationships into a hierarchical tree?

  

基本上它是一样的,你的数组中只有更多的字段。基本上你需要递归遍历数组。