Как вывести в цикле содержимое такого вида?
$array = '{
"Доступный цвет": [{
"Красный": "red",
"Белый": "white",
"Синий": "blue",
"Серый": "gray",
"Черный": "black"
}],
"Доступный размер": [{
"46 (S)": "46-s",
"48 (M)": "48-m",
"50 (L)": "50-l",
"52 (XL)": "52-xl"
}]
}';
Пытаюсь вот так, не получается. Выводится ошибка, как исправить?
<?php
$array = json_decode($array);
foreach($array as $row => $key) {
echo $row;
foreach($key as $k => $t) {
echo $t;
}
}
?>
код под текущий json.
$array = json_decode($array, true);
foreach ($array['Доступный цвет'] as $list) {
foreach ($list as $key => $value) {
echo $key . " - ". $value.'<br/>';
}
}
foreach ($array['Доступный размер'] as $list) {
foreach ($list as $key => $value) {
echo $key . " - ". $value.'<br/>';
}
}
однако структура JSON "грязная", так не следует писать. Ключи не должны быть на русском языке. Пример "как надо":
{
"colors": [
{"key": "red", "label": "Красный"},
{"key": "white", "label": "Белый"},
{"key": "blue", "label": "Синий"},
{"key": "gray", "label": "Серый"},
{"key": "black", "label": "Черный"}
],
"sizes": [
{"key": "46-s", "label": "46 (S)"},
{"key": "48-m", "label": "48 (M)"},
{"key": "50-l", "label": "50 (L)"},
{"key": "52-xl", "label": "52 (XL)"},
]
}
Продвижение своими сайтами как стратегия роста и независимости