Nasıl boyutlu Hiyerarşik bir tek boyutlu dizi yapabilir?

1 Cevap php

Ben Hiyerarşik kategoriler bir tek dizi var. Dizinin indeks gibi category_id olduğunu ::

[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
    )

her değer bunu yapmak için en iyi yolu nedir dizideki yaklaşık 500 elemanları var, onun parent_category değeri vardır.

Süreç i takip:

Tüm alt kategoriler başında böylece daha sonra, kategoriler dizi krsort

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

}

ancak bu çalışmıyor, sadece ilk seviye için yapar.

Birisi bana hatayı işaret edebilir.

1 Cevap

Ben benzer bir soruya dün yayınlanan cevabını kullanmak mümkün olabilir:

http://stackoverflow.com/questions/2915748/how-can-i-convert-a-series-of-parent-child-relationships-into-a-hierarchical-tree/2915920#2915920

Esasen aynı şey, sadece dizilerde daha fazla alanlar var. Temelde özyinelemeli dizi hareket etmesi gerekli.