2011-09-08 44 views
0

在while循環我設置此數組:問題級聯json_ecode'd數據

$prejsonarray[] = json_encode(array('dealerName'=> $row_1, 'dealerAddress' => $addressstring )); 

然後外它我嘗試JSON數據連接成一個字符串:

foreach($prejsonarray as $v){ $dealersstring .= "$v " } 

我得到錯誤:

Parse error: syntax error, unexpected '}'

對於foreach行。但是,如果我回顯出$prejsonarray[0],我可以看到它包含預期的JSON數據。

任何想法?

+0

你缺少$ dealersstring後'分號= 「$ V」' –

+0

$ dealersstring = 「$ V」 應該是$ dealersstring = $ V +」,「旁。;作爲@Pekka –

回答

1

foreach($prejsonarray as $v){ $dealersstring .= "$v "; }

失蹤;

+0

+1首先:) –

0

試試這個

foreach($prejsonarray as $v){ $dealersstring .= "$v "; } 

你只需要添加一個分號。

解析器拋出一個錯誤「unexpected」的原因,因爲在一行的結尾需要有一個語句終止符,它不是別的「;」所以當它尋找一個分號,但在你的情況下,它有一個「}」

1

你不應該只是連接JSON字符串。結果很可能是而不是一個有效的JSON字符串,如果這是你想要的結果。在這種情況下,全陣列式編碼:

$prejsonarray[] = array('dealerName'=> $row_1, 'dealerAddress' => $addressstring); 

底:

$dealersstring = json_encode($prejsonarray); 

但是,你得到的語法錯誤,因爲你缺少一個分號;

foreach($prejsonarray as $v){ $dealersstring .= "$v "; } 
//             ^

而不是以這種方式連接數組值,您應該使用implode[docs]

$dealersstring = implode(' ', $prejsonarray);