我想生成一个json数组并将其存储在我的数据库中。 我得到了值并运行循环来生成。
当我编码它时,我得到了ArrayArrayArray
任何人都可以看到我出错的地方
for ($i=0; $i<=$sTotal;$i++){
$layout_array .= array(array("cellID" => '"'. $_POST['cell_'.$i] .'"',"studentID" => $_POST['user_'.$i]),);
}
$layout_array .= array(array("cellID" => "null","studentID" => "null"));
$layout = json_encode($layout_array);
echo $layout;
干杯
答案 0 :(得分:2)
问题是您的$layout_array
是String
,因为您正在使用.=
(连接)。
而不是:
$layout_array .= array(array("cellID" => '"'. $_POST['ce...
执行:
$layout_array[] = array(array("cellID" => '"'. $_POST['ce....
并改变下一行:
$layout_array .= array(array("cellID" => "null","studentID" => "null"));
BTW ,为什么不使用serialize
和unserialize
代替json编码?
编辑:为了您的舒适,请链接到我建议的功能的php手册。
答案 1 :(得分:0)
您应该使用+=
加入数组,而不是.
。
编辑:忽略此内容并查看评论。这会将元素添加到数组的当前范围,您应该使用$array[] = array(..)
作为其他答案状态。