在while循环中,我设置了这个数组:
$prejsonarray[] = json_encode(array( 'dealerName'=> $row_1, 'dealerAddress' => $addressstring ));
然后在外面我尝试将JSON数据连接成一个字符串:
foreach($prejsonarray as $v){ $dealersstring .= "$v " }
我收到错误:
解析错误:语法错误,意外'}'
对于foreach
行。但是,如果我回显$prejsonarray[0]
,我可以看到它包含预期的JSON数据。
有什么想法吗?
答案 0 :(得分:1)
foreach($prejsonarray as $v){ $dealersstring .= "$v "; }
缺少;
答案 1 :(得分: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);
答案 2 :(得分:0)
试试这个
foreach($prejsonarray as $v){ $dealersstring .= "$v "; }
你只需添加一个分号。
解析器抛出错误“unexpected}”的原因,因为在行结束后需要一个语句终结符,而不是“;”所以当它查找分号但在你的情况下它有一个“}”