0

我正在尝试解析以下json内容php

[{"id":"firstname","optionValue":""},{"id":"lastname","optionValue":""},{"id":"","optionValue":"Submit"}]

我将字符串发送给我get request

这是我到目前为止得到的:

if(isset($_GET['data'])) {

    $json_a = json_decode($_GET['data'], true);

    foreach ($json_a as $a => $b) {
        echo $a;
    }
}

但是echo $a;不输出任何东西。

有任何想法吗?

4

1 回答 1

2

首先,确保通过执行 .json 正确解码 JSON 字符串var_dump($json_a);。如果 JSON 无效,json_decode()将返回NULL并且您将无法获取内容。

如果您可以验证 json_decode()是否返回了包含所需信息的数组,请继续阅读。

您的代码中有以下内容:

foreach ($json_a as $a => $b) {
    echo $a;
}

这只会打印出密钥:0, 1, 2. 你想要这个值。为此,您的循环需要如下所示:

foreach ($json_a as $value) {
    echo $value['id'].PHP_EOL;
}

现在将打印出来:

firstname
lastname

演示!

于 2013-11-07T18:10:40.053 回答