我正在尝试解析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;
不会输出任何内容。
有什么想法吗?
答案 0 :(得分:2)
首先,确保通过执行var_dump($json_a);
正确解码JSON字符串。如果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