猿问

json_encode 不适用于嵌套数组

我一直在尝试以 json 形式返回 2 个查询的结果。var_dump($data)有效,但不能json_encode返回空/不工作。


$data = array();


$array_articles = array();

$sql_articles = $mysqli->query("select something something");

while ( $article = $sql_articles->fetch_assoc() ){

  $array_articles[] = $article;

}


$array_posts = array();

$sql_posts = $mysqli->query("select something something");

while ( $post = $sql_posts->fetch_assoc() ){

  $array_posts[] = $post;

}


$data = array(

  'top_articles' => $array_articles,

  'top_posts' => $array_posts

);


echo json_encode( $data );


智慧大石
浏览 80回答 1
1回答

慕的地8271018

你放入 json_encode 的所有内容都必须是 UTF8。我认为有些内容不是UTF-8编码的。您可以向 json_encode 添加额外的参数。你可以像这样尝试一下: echo json_encode($data, JSON_INVALID_UTF8_IGNORE | JSON_PARTIAL_OUTPUT_ON_ERROR)
随时随地看视频慕课网APP
我要回答