Как foreach массив объектов, которые на самом деле поля другого объекта?

У меня есть такая структура данных объекта:

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

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

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
0

По вопросам рекламы [email protected]