2012-10-15 67 views
0

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

你爲什麼連接'$ layout_array'? – dnagirl

回答

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

0

您應該使用+=加入你的陣列,而不是.

編輯:忽略此內容並發表評論。這會將元素添加到數組的當前範圍,您應該使用$array[] = array(..)作爲其他答案狀態。

+0

這是php代碼。你用。=用PHP – sircapsalot

+0

我完全意識到它是PHP!您使用。=使用字符串,+ =使用數字和數組。 –

+0

@sircapsalot:'。='用於連接。 '+ ='用於添加。兩者都是有效的PHP運營商。但我不認爲我曾見過用於向陣列中添加新元素。 – dnagirl