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);
?>
jct
1487 gün önce

Konu PHP Sınırsız Kategori Mantığı ancak birçok yerde yarım yamalak bir sürü fonksiyon var çoğu için geri dönüşüm sıfır. Bende bir süre üzerinde çok kafa yordum ancak işin içinden çıkamadım. Tüm kategorileri hiyerarşik olarak sıralamak yada bir Select içine yazmakta sorun yok. Ancak işi herhangi bir sıradaki bir temel veya alt kategorinin hiyerarşik içeriğine gelince, su koyuvermiştim. Eğer birileri tüm ayrıntıları ile bir paylaşım yaparsa bende çok duacı olucam @TayfunErbilen