• 16-07-2021, 15:59:45
    #1
    Selamlar

    codestar framework ile bir grup alanım var. Buradan eklenen grupları foreach ile ana sayfada listeliyorum. Grup elemanı olmadığında, yani hiç veri olmadığında doğal olarak hata çıkıyor. Hata yerine veri yok nasıl yazdırabilirim?

    hata:

    kod:
  • 16-07-2021, 16:01:23
    #2
    Foreach'tan önce koşul olarak is_array kullanabilirsiniz, bu sayede veri array ise döngüye alır
  • 16-07-2021, 16:01:51
    #3
    <?php if ($trnc['homeareas']) { ?>
        <?php foreach ($trnc['homeareas'] as $homearea) { ?>
        // Foreach arasındaki kodlar buraya.
        <?php } ?>
    <?php } else { ?>
    Veri bulunamadı.
    <?php } ?>
  • 16-07-2021, 16:04:17
    #4
    Scarecrow adlı üyeden alıntı: mesajı görüntüle
    Foreach'tan önce koşul olarak is_array kullanabilirsiniz, bu sayede veri array ise döngüye alır
    ClubArkadas adlı üyeden alıntı: mesajı görüntüle
    <?php if ($trnc['homeareas']) { ?>
        <?php foreach ($trnc['homeareas'] as $homearea) { ?>
        // Foreach arasındaki kodlar buraya.
        <?php } ?>
    <?php } else { ?>
    Veri bulunamadı.
    <?php } ?>
    teşekkür ederim hocalarım

    @ClubArkadas; hocamın verdiği kod ile sorun çözüldü
  • 16-07-2021, 16:52:48
    #5
    if($homearea )
    {
    döngü buraya alınabilir boş olduğunda buraya gelmez
    }
  • 17-07-2021, 01:01:49
    #6
    is_array sorun oluşturur, error log oluşturabilir çünkü boş array de sonuç olarak bir array dir.
    var_dump(is_array(array()));
    olarak denersiniz true döndüğünü görürsünüz.
    eğer multidimensional bir array değilse
    if($data && !empty($data)){
    foreach($data as $d){
    //.....
    }
    }
    eğer multidimensional bir array ise ilk dimensionın da isset ile kontrol edilmesi gerekir.
    örneğin:
    if(isset($data['veri']) && !empty($data['veri'])){
    foreach($data['veri'] as $d){
    //.....
    }
    }
    elbetteki başka yöntemler vardır. ben böyle kullanıyorum bir sorun yaşamadım.