php json解码问题

时间:2011-05-29 23:11:49

标签: php json

$data = json_decode($json,true);
echo $json;

当我使用json_decode时,我得到了一个像这样的JSON树:

[
    "name",
    [
        "jason",
        "carl",
        "simpson",
        "crew",
        "marx"
    ]
]

那么,我如何使用foreach获取所有名称值?

4 个答案:

答案 0 :(得分:1)

像这样:

<?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]是一个具有所需名称的子数组

答案 1 :(得分:0)

foreach ($data[1] as $name_value) {
    // do something with $name_value
}

答案 2 :(得分:0)

如果它总是相同的结构,你可以循环$data[1]

但看起来它是某种关键的前缀结构。然后为了可靠性我会使用:

$key = array_search("name", $data);

if ($key !== FALSE)
foreach ($data[$key + 1] as $name) {
    print $name;
}

答案 3 :(得分:-1)

$ data变量现在包含一个二维数组。 如果你想获得所有名字的数组,你说

$names=$data['name'];