Bir ağaç dizilim var, ancak diziyi boyuta göre gruplamak istiyorum, böylece ağacın her düzeyini kendi DIV'unda görüntüleyebilirim.Dizilime göre boyut düzeyi nasıl gruplanır?
Benim ağaç dizidir:
$tree =
array(
1 => array('id'=>1, 'title'=>'Category 1', 'parent_id'=>0,
'children'=> array(
2 => array('id'=>2, 'title'=>'Category 2', 'parent_id'=>1, 'children'=>''),
3 => array('id'=>3,'title'=>'Category 3','parent_id'=>1,'children'=>''),
4 => array('id'=>4, 'title'=>'Category 4', 'parent_id'=>1,
'children'=> array(
8 => array('id'=>8, 'title'=>'Category 8', 'parent_id'=>4, 'children'=>''),
9 => array('id'=>9, 'title'=>'Category 9', 'parent_id'=>4, 'children'=>''),
10 => array('id'=>10, 'title'=>'Category 10', 'parent_id'=>4,
'children'=> array(
11 => array('id'=>11, 'title'=>'Category 11', 'parent_id'=>10, 'children'=>''),
12 => array('id'=>12, 'title'=>'Category 12', 'parent_id'=>10, 'children'=>''),
13 => array('id'=>13, 'title'=>'Category 13', 'parent_id'=>10, 'children'=>'')
)
)
)
)
)
),
5 => array('id'=>5, 'title'=>'Category 5', 'parent_id'=>0,
'children'=>array(
6 => array('id'=>6,'title'=>'Category 6', 'parent_id'=>5, 'children'=>''),
7 => array('id'=>3,'title'=>'Category 7', 'parent_id'=>5, 'children'=>'')
)
)
);
Ben this gibi her seviyede ayırmak istiyorum. gruplandırılmış çıkışı için Benim fikrim böyle bir şeydir: Eğer başka fikirler varsa başka
$grouped = array(
0 => array(
1 => array('id'=>1, 'title'=>'Category 1', 'parent_id'=>0),
5 => array('id'=>5, 'title'=>'Category 5', 'parent_id'=>0)
),
1 => array(
2 => array('id'=>2, 'title'=>'Category 2', 'parent_id'=>1),
3 => array('id'=>3, 'title'=>'Category 3', 'parent_id'=>1),
4 => array('id'=>4, 'title'=>'Category 4', 'parent_id'=>1),
6 => array('id'=>6, 'title'=>'Category 6', 'parent_id'=>5),
7 => array('id'=>3, 'title'=>'Category 7', 'parent_id'=>5)
),
2 => array(
8 => array('id'=>8, 'title'=>'Category 8', 'parent_id'=>4),
9 => array('id'=>9, 'title'=>'Category 9', 'parent_id'=>4),
10 => array('id'=>10, 'title'=>'Category 10', 'parent_id'=>4)
),
3 => array(
11 => array('id'=>11, 'title'=>'Category 11', 'parent_id'=>10),
12 => array('id'=>12, 'title'=>'Category 12', 'parent_id'=>10),
13 => array('id'=>13, 'title'=>'Category 13', 'parent_id'=>10)
)
);
şey iyi, ama ben foreach
çıktı dizisi edebilmek ve farklı her düzeyde tüm öğeleri görüntülemek isteyen DIV.
EX:
<div id="box-1">
Group Array[1]
</div>
<div id="box-2">
Group Array[2]
</div>
<div id="box-3">
Group Array[3]
</div>
<div id="box-4">
Group Array[4]
</div>
Bunu nasıl yapabilirim?
Lütfen bkz. [Soru] ve [Mükemmel soru] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/). – Rizier123
Bunu yinelemeli olarak uygulayabilirsiniz. Geçerli seviyedeki tüm bilgileri bir listeye ekleyen bir fonksiyon yazınız, daha sonra (bu fonksiyon içerisinde) fonksiyonun kendisini “çocuklar” özelliğinde çağırınız. – jojonas
Sorunuzu, resimdeki kodu eklemek ve amaçlanan hedefiniz olarak algıladıklarımı netleştirmek için düzenledim. Aklınızdaki gibi değilse, değişiklikleri yeniden düzenlemeyi veya geri almayı lütfen çekinmeyin. Bunu başarmak için yazdığınız herhangi bir kodu ekleyebiliyorsanız, sorunu daha da açıklığa kavuşturmaya yardımcı olabilir. –