2015-03-18 5 views
1

мне нужно получить данные из массива, который я получил черезFetch значения из многомерного массива

print_r($result); 

Массив Я получил это

Array 
(
    [0] => Array 
     (
      [id] => 
      [Location] => Array 
       (
        [img] => 177223 
        [name] => 
       ) 

      [Max] => 
      [Total] => 
      [Description] => Array 
       (
        [Pre] => 
        [Updated] => 
        [Program] => Array 
         (
          [Schedule] => 
         ) 
       ) 

      [Staff] => Array 
       (
        [FirstName] => 
       ) 
     ) 
) 

Я использовал этот код

if (!empty($result)) 
    { 
     foreach ($result as $res) 
      { 
       $Max = $res['Max']; 
       echo $Max; 
       echo "<br>"; 
        if(isset($res['Location'])) 
         { 
          foreach($res['Location'] as $loc) 
            { 
             $img= $loc['img']; 
             echo $img; 
             echo "<br>"; 
            } 
         } 
      } 
    }  

Я получаю правильное значение для первого массива (Ie Max и т. Д.), Но не для местоположения, описания и персонала, может ли кто-нибудь исправить мой код

ответ

3

Местоположение не является массивом массивов. Это просто ассоциативный массив.

if (!empty($result)) { 
    foreach ($result as $res) { 
      $Max = $res['Max']; 
      echo $Max; 
      echo "<br>"; 
      if(isset($res['Location'])) { 
       $img= $res['Location']['img']; 
       echo $img; 
       echo "<br>"; 
      } 
    } 
}  
0

Вам не нужно Foreach через место, только доступ к его элементам непосредственно:

if(isset($res['Location'])) 

    { 
      $img= $res['Location']['img']; 
      echo $img; 
      echo "<br>"; 
    } 

Или somethig подобное.

Смежные вопросы