如果之前没有访问过数组,则json_encode返回null

时间:2011-03-09 11:07:12

标签: php json

在我的代码中,我构建了一个数组并使用json_encode对其进行编码, json_encode为此数组返回null,除非我插入指令“echo $ responce-> rows [0] [0];”在编码之前,如果我注释掉这一行,json_encode将返回null!

有人能找出原因吗?

echo $responce->rows[0][0];
echo json_encode($responce);

这种编码的json有这种行为,但适用于不同的数组:

{"rows":[{"id":"33UD","cell":["Great Yarmouth Borough Council",5875732.23,61.01]},
{"id":"41UE","cell":["Newcastle-Under-Lyme District Council",2514111.76,20.24]},
{"id":"36UF","cell":["Ryedale District Council",96439.18,1.8]},{"id":"00CM","cell":
["Sunderland City Council",16473262.71,58.48]}]}

1 个答案:

答案 0 :(得分:2)

如果您的数组值未编码为null,那么json_encode会返回utf8(因此json_encode不安全)

如果从db获取数据,请尝试使用:

mysql_query('SET CHARACTER SET utf8')SELECT陈述之前