Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php json#U编码不';不显示所有数组值_Php_Arrays_Json - Fatal编程技术网

Php json#U编码不';不显示所有数组值

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

我有一个PHP脚本,它从表中获取所有记录并将其编码为JSON。该表共有246条记录<代码>回声计数()也返回246

问题是,每当我使用
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));
}