2016-06-06 141 views
0

我想通過數組內部的數組來循環,以便我可以顯示電話號碼或分機號碼。例如:如果用戶同時具有(電話號碼和分機號碼),那麼我應該只顯示電話號碼,但有時用戶只有分機號碼,那麼我應該顯示分機號碼。如何在php中循環訪問數組中的數組?

這裏是我的代碼:

<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> 

有人能告訴我,我做錯了什麼嗎?提前謝謝你!

+0

千萬不要使用錯誤壓制:'@'。特別是,當您嘗試調試您的代碼時。 –

+1

@vp_arth @是Blade(Laravel)的一部分 – HenryDev

+0

Ouch,對不起。醜陋的語法:) –

回答

2

從你的要求,我想你需要的東西是這樣的:

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

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

這將輸出二者中的任何,但只有phoneNumber如果兩者都存在。

您不需要所有嵌套的foreach循環來完成此操作。而是隻遍歷子數組。

+0

非常感謝你!你的答案就是我需要的 – HenryDev