2017-11-22 2 views
1

Wenn ich ich habe als Sammlung von zwei Null-Array drucken:Laravel: Sammlung von Array-Schleife, wenn Array null ist

 array:2 [▼ 
     0 => Collection {#419 ▼ 
      #items: [] 
      } 
     1 => Collection {#412 ▼ 
      #items: [] 
     } 
    ] 

In einer Zählung dieses Null-Array I bekam "Count - 2". Was ich tun möchte mit meinem Code, der Schleife zweimal (was ist meine Zählung) und prüfen, ob in ARRAY-1 Daten dann drucken "Daten verfügbar" sonst drucken "Daten nicht verfügbar".

Hier ist mein Code:

zwei foreach-Schleife wegen Sammlung von Array

foreach($TestArr as $TestArr1) { 
     foreach($TestArr1 as $item) { 
     if($item->gallery_id == $val && $item->is_thumb_image == 1) { 
      echo "YesImage"; 
     } else { 
      echo "NoImage"; 
     } 
    } 
    } 

Hier ist ein Full-Code ist;

<div class="container"> 
     @if(!empty($galleryArr)) // Gt a folder name 
      @foreach($galleryArr as $key => $val) 
      <div class="col-md-3"> 
       <div class="service-block service1"> 
       <?php 

         foreach($TestArr as $TestArr1) { //set for thumb image 
         if(count($TestArr1)){ 
          foreach($TestArr1 as $item) { 
          if($item->gallery_id == $val && $item->is_thumb_image == 1) { 
           echo "YesImage"; 
          } 
          } 
         }else{ 
          echo "NoImage"; 
         } 
         } 


        ?> 


        <h4>{{ $key }}</h4> 
        <a href="javascript:void(0);" class="btn" id="dynamic_{{$val}}">View Gallary</a> 
        <script type="text/javascript"> 
           // added 
         $('#dynamic_{!! $val !!}').on('click', function() { 

          $(this).lightGallery({ 
           dynamic: true, 
           dynamicEl: [ 
           <?php if(!empty($mediaData)){ 
            foreach($mediaData as $k => $v){ 
             if($v->gallery_id == $val){ ?> 
             { 
              "src": '{!! "/images/".$v->path !!}', 
              'thumb': '{!! "/images/".$v->path !!}', 
              'subHtml': '<h4>{{ $v->caption }}</h4>' 
             }, 
           <?php } } }?> 
           ] 
          }) 

         }); 

        </script> 
       </div> 
      </div> 
      @endforeach 
     @endif 




</div> 
+1

Also, was ist das Problem? –

+0

Problem ist, wenn ich gt null Array-Schleife nicht fortgesetzt wird. –

+0

Dies ist Tatsache man, während Array/Sammlung durchläuft, wenn leer, wird es nicht fortgesetzt werden. Sie können die Größe jeder Sammlung in Ihrem Array überprüfen, um festzustellen, ob ein Wert vorhanden ist oder nicht. –

Antwort

1

Überprüfen Sie, ob array1 vor dem foreach leer ist,

foreach($TestArr as $TestArr1) { 
    if(count($TestArr1)){ 
     foreach($TestArr1 as $item) { 
     if($item->gallery_id == $val && $item->is_thumb_image == 1) { 
      echo "YesImage"; 
     }else{ 
      echo "NoImage"; 
     } 
     } 
    }else{ 
     echo "NoImage"; 
    } 
    } 
+0

siehe editierte Frage. –