【发布时间】:2017-06-26 07:03:48
【问题描述】:
我有一个从 android 接收到的数组,它必须插入到 mysql 表中,其中包含字段 user、product、remark、color、size、count。 我无法获取包含大小和计数的内部循环数据的值。它显示错误
$dat='[{"user":10,
"product":58,
"remarks":"ok",
"details":[{
"color":"Red",
"data":[{
"size":12,
"count":1
},
{
"size":14,
"count":2
}]
}]
},
{"user":10,
"product":60,
"remarks":"okk",
"details":[{
"color":"Black",
"data":[{
"size":10,
"count":5
},
]},{
"color":"Red",
"data":[{
"size":10,
"count":3
},
]}
]}
]';
这是我试过的代码。
$s = json_decode($dat, true);
print_r($s);
foreach($s as $item)
{
foreach($item as $details) {
foreach($details as $data) {
echo "user".$item['user'];
echo "product".$item['product'];
echo "remarks".$item['remarks'];
echo "color".$details['color'];
echo "size".$data['size'];
echo "count".$data['count'];
}
}
}
这是print_r($s)的输出
Array(
[0] => Array (
[user] => 10
[product] => 58
[remarks] => ok
[details] => Array (
[0] => Array(
[color] => Red
[data] => Array (
[0] => Array (
[size] => 12
[count] => 1
)
[1] => Array (
[size] => 14
[count] => 2
)
)
)
)
)
[1] => Array (
[user] => 10
[product] => 60
[remarks] => okk
[details] => Array (
[0] => Array (
[color] => Black
[data] => Array(
[0] => Array (
[size] => 10
[count] => 5
)
)
)
[1] => Array(
[color] => Red
[data] => Array (
[0] => Array(
[size] => 10
[count] => 3
)
)
)
)
)
) ;
请帮助我。在此先感谢
【问题讨论】:
-
print_r($s)的输出是什么? -
您的 JSON 数据有一些问题,请先修复它们,使用 json.parser.online.fr
标签: php for-loop multidimensional-array foreach