感谢您抽出时间阅读这篇文章。
我的php文件正在接收一个json对象。但是在解码时我遇到了问题。
我的PHP代码:
$data=$_POST['arg1'];
echo $data;
$json = json_decode($data,true);
echo $json;
$i = 1;
foreach($json as $key => $value) {
print "<h3>Name".$i." : " . $value . "</h3>";
$i++;
}
当我echo
数据结果如下时。
{
"SCI-2": {
"quantity": 2,
"id": "SCI-2",
"price": 280,
"cid": "ARTCOTSB"
}
}
当我回显$json
时,结果如下:
阵 名字1:数组。
请提供帮助,因为我需要访问cid
中的quantity
和$data
值。
答案 0 :(得分:0)
json_decode
返回一个数组。要打印数组,您可以使用print_r
或var_dump
。
现在要访问您的值,您可以尝试:
数量为{p>$json["SCI-2"]["quantity"]
,cid为$json["SCI-2"]["cid"]
。
要在foreach
中访问,您需要:
foreach($json as $k) {
foreach($k as $key => $value) {
print "<h3>Name".$i." : " . $value . "</h3>";
}
}
答案 1 :(得分:0)
由于您不知道对象中的项目数,请使用:
$obj = json_decode($json);
在此之后,迭代$obj
变量和之后的,在循环内部,使用foreach获取每个属性。
foreach($iteratedObject as $key => $value) {
//your stuff
}