json生成数组问题

时间:2012-10-15 14:09:16

标签: php mysql json

我想生成一个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;

干杯

2 个答案:

答案 0 :(得分:2)

问题是您的$layout_arrayString,因为您正在使用.=(连接)。

而不是:

$layout_array .= array(array("cellID" => '"'. $_POST['ce...

执行:

$layout_array[] = array(array("cellID" => '"'. $_POST['ce....

并改变下一行:

$layout_array .= array(array("cellID" => "null","studentID" => "null"));

BTW ,为什么不使用serializeunserialize代替json编码?

编辑:为了您的舒适,请链接到我建议的功能的php手册。

http://php.net/manual/en/function.serialize.php

http://php.net/manual/en/function.unserialize.php

答案 1 :(得分:0)

您应该使用+=加入数组,而不是.

编辑:忽略此内容并查看评论。这会将元素添加到数组的当前范围,您应该使用$array[] = array(..)作为其他答案状态。