0

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;

乾杯

4

2 に答える 2

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"));

ところで、 json エンコーディングの代わりにserializeandを使用しないのはなぜですか?unserialize

編集:あなたの快適さのために、私が提案した機能のphpマニュアルへのリンク。

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

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

于 2012-10-15T14:12:05.760 に答える
0

+=ではなく、配列を結合するために使用する必要があります.

編集:これを無視してコメントを参照してください。$array[] = array(..)これにより、配列の現在のスコープに要素が追加されます。他の回答状態として使用する必要があります。

于 2012-10-15T14:12:28.537 に答える