v2.5.2
Giriş yap

PHP İç İçe Diziler

singlestroke
981 defa görüntülendi

Bir iç içe dizi yapısı oluşturdum bu diziler şöyle;

Bilgisayar

-- Bilgisayar Bileşenleri
---- Ram
---- İşlemci
-- Çevre Birimleri
---- Monitor
---- Kulaklık

Ev Aletleri

-- Küçük Ev Aletleri

Eğer bir kategorinin alt kategorisi varsa bu subCats anahtarı ile bir alt dizin olarak tutuluyor.

Aşağıda ki kod da en altta ki dizine ulaşana kadar sürekli foreach döndürüp alt dizin var mı diye kontrol ettiriyorum ama sınırsız bir alt kategori sisteminde ve sağlıklı bir kod yapısına uygun olmadığı aşikar

Çünkü bu şekilde örnek veriyorum 5. alt dizine kadar kontrol sağlayabilirim ama ondan sonrası için sorun olur bunun yerine bir fonksiyon yazılabilir muhtemelen ancak işin içinden çıkamadım ve anlaşılır bir biçim de kodların temiz halini ekledim buyrunuz :)

Bir de sorun şu ki ekrana son hali olan diziyi basarken haliyle artık iç içe olmayan bir dizi haline dönüşecek ama ben alt kategorinin hangisi olduğunu anlamam gerekiyor ki onu ekrana bastırırken
ul - li düzenini sağlayabileyim.

Benim yazdığım kod dan daha bağımsız önerilerinize açığım benim gittiğim yoldan gitmek zorunda değilsiniz.

Şimdiden teşekkürler.

<?php
    $listcats = array();
    foreach($cats as $cat){
        
        array_push($listcats, $cat['title']);
        if (isset($cat['subCats']))
        {
            foreach($cat['subCats'] as $cat){
    
                array_push($listcats, $cat['title']);
                if (isset($cat['subCats']))
                {
                    foreach($cat['subCats'] as $cat){
            
                        array_push($listcats, $cat['title']);
                        if (isset($cat['subCats']))
                        {
                            foreach($cat['subCats'] as $cat){
                    
                                array_push($listcats, $cat['title']);
                                if (isset($cat['subCats']))
                                {
                                    foreach($cat['subCats'] as $cat){
                            
                                        array_push($listcats, $cat['title']);
                                        
                                            
                                    }
                                } 
                            }
                        }  
                    }
                } 
            }
        }
    }
    
    print_r($listcats);
?>
makifgokce
1487 gün önce

Kendimce bişeyler yapmaya çalıştım umarım işinize yarar.
https://github.com/makifgokce/unlimited-category