我在PHP中解码了一个包含键和值的JSON数组,JSON如下(为了更好的理解已经缩短)::
[{"code":"123"},{"identification":"Some item"},{"price":"$20"}]
经过我使用 json_decode
函数后,它的样子如下:
Array ( [0] => stdClass Object ( [code] => 123 ) [1] => stdClass Object ( [identification] => Some item ) [2] => stdClass Object ( [price] => $20 ) )
如何同时读取键和值?
我已经在 Stack Overflow 上尝试搜索并尝试了类似于以下内容的代码:
foreach ($jarray as $key) {
echo 0->$key;
}
会抛出500(ISE)错误。
也尝试了这个:
foreach ($jarray as $key => $value) {
echo $key;
echo $value;
}
还会抛出500错误。
我不知道如何完成这个任务...
编辑: 基本上,我只想遍历整个东西,并在每次迭代时获取键和值,就像这样:
code - 123
identification - Some item
price - $20
...
json_decode()
调用中,将true
添加为第二个参数。 - bassxzero$key
是一个数组/对象,所以你不能直接打印输出它。如果你查看了日志,你就会看到“将数组转换为字符串”或“无法将stdClass类的对象转换为字符串”。 - aynbervar_dump()
比尝试echo
输出更加宽松,以备将来参考。 - Blake$jarray[0]
,它返回了array(1) { ["code"]=> string(3) "123" }
,但是现在我该如何获取字符串 "code" 而不指定它呢?我尝试了$jarray[0][0]
,但它返回了NULL
... 基本上,我只想遍历整个数组并每次获取键和值。 - Fusseldiebvar_dump()
,我之前不太清楚它的作用,现在经过一番搜索,我明白了。 - Fusseldieb