2014-09-16 2 views
0

У меня есть такая структура данных объекта:Как массив foreach объекта, который фактически является полем другого объекта?

"site":"http://mercurygold.com.ua/", 
"shops":[ 
     { 
     "id":"1", 
     "shopLogo":"mercuryGoldShop1", 
     "address":"test test test" 
     }, 
     { 
     "id":"2", 
     "shopLogo":"mercuryGoldShop2", 
     "address":"text text text" 
     } 
    ] 

Как я могу Foreach всех объектов «Магазины» без обращения поля по именам?

ответ

0

Доступ к нему можно получить с помощью 2 foreach петель. Предполагая, что «магазины» находится в переменной $var, вы можете получить доступ к нему, как это:

foreach($var['shops'] as $shop) 
{ 
    foreach($shop as $key=>$val) 
    { 
     echo $key . ": " . $val . "\n"; 
    } 
} 

Примечание: Если переменная JSON вы должны сделать $var = json_decode($var); первый.

0

Я уверен, что вы это формат JSON, чтобы получить элементы shops вам нужно сделать это:

<?php 

    $var = ' 
    { 
     "site":"http://mercurygold.com.ua/", 
     "shops":[ 
     { 
     "id":"1", 
     "shopLogo":"mercuryGoldShop1", 
     "address":"test test test" 
     }, 
     { 
     "id":"2", 
     "shopLogo":"mercuryGoldShop2", 
     "address":"text text text" 
     } 
    ] 
}'; 

$var = json_decode($var); 
foreach($var->shops as $shop) 
{ 
    foreach($shop as $key=>$val) 
    { 
     echo $key . ": " . $val . "\n"; 
    } 
    echo '<br>'; 
} 

ВЫВОД:

id: 1 shopLogo: mercuryGoldShop1 address: test test test 
id: 2 shopLogo: mercuryGoldShop2 address: text text text 
Смежные вопросы