2011-09-08 124 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);