2016-06-06 21 views
0

Ich versuche, ein Array innerhalb eines Arrays zu durchlaufen, so dass ich entweder Telefonnummern oder Nebenstellennummer anzeigen kann. Zum Beispiel: Wenn ein Benutzer beides hat (Telefonnummer und Nebenstellennummer), dann sollte ich NUR die Telefonnummer anzeigen, aber manchmal hat ein Benutzer nur eine Nebenstellennummer, dann sollte ich die Nebenstellennummer anzeigen.Wie durchläuft man ein Array innerhalb von Array in PHP?

Und hier ist mein Code:

<table style="padding: 40px;margin-left: -10px;margin-top:-38px;display: inline-block;"> 
      <div style="margin-top:16px;margin-left:10px;"> 
       <input type="checkbox" id="checkAll"/> 
      </div> 
      <div style="padding:20px;"> 
       @foreach($resultArray as $key => $value) 

        @foreach($value as $key2 => $value2) 
         @if(is_array($value2)) 
          @foreach($value2 as $key3 => $value3) 
           <?php 
            // echo var_dump($value3); 

           if (in_array($value3['phoneNumber'], $value3)) { 
            if (strlen($value3['phoneNumber']) === 11) { 
             $value3['phoneNumber'] = ltrim($value3['phoneNumber'], 1); 
            } 
           } 
           else{ 
            $value3['phoneNumber'] = $value3['extension']; 
           } 



           ?> 

           <tr> 
            <td> 
             <input class="input_checkbox" type="checkbox" 
               id="{{$key3}}customer-name-checkbox" name="{{$key3}} " 
               value="yes"><span style="padding-left:40px;"></span> 
            </td> 
            <td>{{$value3['firstName']}} {{$value3['lastName']}}</td> 
            <td>{{$value3['phoneNumber']}}}</td> 
            <td><input style="margin-left:60px;float: right;" type="email" class="styled-text rounded" name="{{$key3}}" id="{{$key3}}customer-name-inputField" placeholder="" value=""/><br/><br/> 
            </td> 
           </tr> 
          @endforeach 
         @endif 
        @endforeach 
       @endforeach 
      </div> 
     </table> 

Kann mir jemand sagen, was mache ich falsch bitte? Vielen Dank im Voraus!!

+0

Niemals Fehlerunterdrückung verwenden: '@'. Vor allem, während Sie versuchen, Ihren Code zu debuggen. –

+1

@vp_arth @ ist Teil von Blade (Laravel) – HenryDev

+0

Autsch, tut mir leid. Hässliche Syntax :) –

Antwort

2

Von Ihren Anforderungen, ich glaube, Sie so etwas wie dieses brauchen:

<?php 
foreach ($resultArray['searchUserResults']['searchUserResult'] as $key => $data) 
{ 
    if (isset($data['phoneNumber'])) 
     echo $data['phoneNumber']; 

    else if (isset($data['extension'])) 
     echo $data['extension']; 
} 
?> 

Dies wird Ausgang entweder von den beiden, aber nur phoneNumber beide sind, falls vorhanden.

Sie benötigen nicht alle verschachtelten foreach-Schleifen, um dies zu erreichen. Stattdessen iterieren Sie nur über das Sub-Array.

+0

vielen Dank !!! Ihre Antwort ist, was ich brauchte – HenryDev

Verwandte Themen