将PHP ARRAY转换为JSON(空体)

时间:2018-03-11 11:46:52

标签: php json

即使我使用此代码,也没有任何内容可以显示,

$result=mysqli_query($con,$sql);                
            $indexCourses=[];
            $listCourses=array();               
            $listCourses=$result->fetch_all(MYSQLI_ASSOC);
            mysqli_close($con);
echo json_encode($listCourses,TRUE);

print_r()的数组输出为:

Array ( [0] => Array ( [id] => 6 [nom] => Marathon de Marrakech [date] => 
28/01/2018 ) [1] => Array ( [id] => 7 [nom] => Semi marathon Meknès [date] 
=> 18/02/2018 ) [2] => Array ( [id] => 8 [nom] => 10 km de Casablanca 
(ENSEM) [date] => 25/02/2018 ) ) 

任何帮助,请

1 个答案:

答案 0 :(得分:0)

根据您的数据判断json_encode在尝试编码非UTF8字符时可能会抛出并出错。您可以使用json_last_error_msg功能检查是否发生了错误。另外,请阅读如何使用json_encode函数(特别是第二个参数规范),因为我认为你不需要在你的情况下将第二个参数传递给函数。

您的问题的解决方案可能非常简单 - 在创建mysqli连接时使用UTF8编码,这将强制所有结果也以UTF8返回,在这种情况下json_encode将不会出现问题。

mysqli_set_charset($connection,"utf8");

(摘自https://www.w3schools.com/php/func_mysqli_set_charset.asp