我是php新手,不知道为什么go-daddy服务器会以不同方式处理JSON数据。 当我在本地主机的本地计算机上本地托管它时,当我想回显空的JSON数组时,我只是将[]显示如下。但是,当我将代码上传到go-daddy服务器并尝试它时,它回显了一个错误,Parse错误:语法错误,意外的'[',期待')'...我想知道我怎么能把JSON这样它可以在需要时回显[]。否则它将给出“null”,当它解析为AS3时,它将变成JSON解析错误。
if (!empty($output)){
echo json_encode( $output );}
else{
echo json_encode( [] );
}
答案 0 :(得分:7)
这是因为您的网络服务器版本必须小于5.4。您正在尝试使用名为短数组语法的<{3}} PHP
使用echo json_encode(array());
代替echo json_encode( [] );
答案 1 :(得分:4)
你必须使用它:
if (!empty($output)){
echo json_encode( $output );}
else{
echo json_encode(array());
}
答案 2 :(得分:3)
[]
仅在php 5.4 +。
这意味着php在主机上的版本不够高,请尝试让他们升级到5.4或尝试array();
而不是[]
答案 3 :(得分:2)
if(count(json_encode($jArrary,1))==0) {
echo "empty";
}
//or
if(empty(json_encode($jArrary,1))) {
echo "empty";
}
你可以用这个