$data = json_decode($json,true); echo $json;
Когда я использую json_decode, я получаю дерево JSON, подобное этому:
[ "name", [ "jason", "carl", "simpson", "crew", "marx" ] ]
Итак, как я могу использовать foreach, чтобы получить все значения имени?
foreach
Примерно так:
<?php $json = <<<JSON [ "name", [ "jason", "carl", "simpson", "crew", "marx" ] ] JSON; $data = json_decode($json); foreach($data[1] as $name) { echo "$name\n"; } ?>
Вывод:
$ php test.php jason carl simpson crew marx
РЕДАКТИРОВАТЬ
В основном данные json представляют собой массив, где $data[0] - это имя значения, а $data[1] - это подмассив с именами, которые вы хотите
$data[0]
$data[1]
Если бы это всегда была одна и та же структура, вы могли бы просто зациклить $data[1].
Но похоже, что это какая-то структура префикса ключа.Тогда для надежности я бы использовал:
$key = array_search("name", $data); if ($key !== FALSE) foreach ($data[$key + 1] as $name) { print $name; }
foreach ($data[1] as $name_value) { // do something with $name_value }
переменная $ data теперь содержит 2-мерный массив.Если вы хотите получить массив всех имен, вы говорите
$names=$data['name'];