Php json#U编码不';不显示所有数组值
我有一个PHP脚本,它从表中获取所有记录并将其编码为JSON。该表共有246条记录<代码>回声计数()代码>也返回246 问题是,每当我使用Php json#U编码不';不显示所有数组值,php,arrays,json,Php,Arrays,Json,我有一个PHP脚本,它从表中获取所有记录并将其编码为JSON。该表共有246条记录回声计数()也返回246 问题是,每当我使用json\u encode时,它根本不显示数组中的值,我看到的只是一个空白页面。但是如果我将记录的数量从246条减少到13条,它就会工作并显示编码的JSON结果。我还尝试将php.ini文件中的内存限制增加到4095M,但没有效果 $result = mysqli_query($con, "SELECT * FROM cities"); if (mysqli_num_r
json\u encode
时,它根本不显示数组中的值,我看到的只是一个空白页面。但是如果我将记录的数量从246条减少到13条,它就会工作并显示编码的JSON结果。我还尝试将php.ini文件中的内存限制增加到4095M,但没有效果
$result = mysqli_query($con, "SELECT * FROM cities");
if (mysqli_num_rows($result) > 0) {
$response["cities"] = array();
$city = array();
while($row = mysqli_fetch_assoc($result)) {
$city[] = $row;
array_push($response["cities"], $city);
}
$response["success"] = 1;
echo json_encode($response);
}
尝试下面的内容,您将了解到底发生了什么:
$json = json_encode($response);
if ($json)
echo $json;
else
echo json_last_error_msg();
-返回上次json_encode()或json_decode()调用的错误字符串
数组“city”正在为每次调用扩展,并且在循环中的每次迭代中都推送完整的数组
尝试:
它应该可以工作删除$response
数组将$row
推送到$cities
数组中。按下all city后,在json_encode()中设置城市和响应代码>这样的函数echo json_encode(数组(“cities”=>$cities,“success”=>1))代码>
非常感谢。它返回“格式错误的UTF-8字符,可能编码不正确”,这给了我一个关于这个问题的想法:)很高兴它有帮助!
while($row = mysqli_fetch_assoc($result)) {
array_push($response["cities"], $row);
}
if (mysqli_num_rows($result) > 0) {
$cities = array();
while($row = mysqli_fetch_assoc($result)) {
array_push($cities, $row);
}
echo json_encode(array("cities"=>$cities, "success"=>1));
}