首頁  >  文章  >  後端開發  >  php如何將結果集轉json

php如何將結果集轉json

藏色散人
藏色散人原創
2020-09-30 09:17:162901瀏覽

php將結果集轉json的方法:首先將資料庫中的資料儲存到一個陣列;然後對這個陣列進行編碼;最後透過「 json_encode」函數進行json編碼並列印結果即可。

php如何將結果集轉json

推薦:《PHP影片教學

PHP將資料庫查詢內容轉換為JSON格式且顯示中文

最近寫android,開始寫伺服器了。最終伺服器的語言先定為PHP,因為以前寫過一陣子網頁,所以就先用PHP試試水。

那麼首先為了實現android前端與伺服器交互,那麼我們伺服器傳輸的資料就要先變成JSON格式。

那麼如何將資料庫中的內容查詢出來,並且使其轉變為JSON格式呢?程式碼如下:

if(isset($_GET["userid"])){
    $userid=$_GET["userid"];
    echo $userid;
    $sql="select * from user where userid='$userid'";
}
$result=mysqli_query($conn,$sql);
if (!$result) {
    printf("Error: %s\n", mysqli_error($conn));
    exit();
}
 
$jarr = array();
while ($rows=mysqli_fetch_array($result,MYSQL_ASSOC)){
    $count=count($rows);//不能在循环语句中,由于每次删除 row数组长度都减小
    for($i=0;$i<$count;$i++){
        unset($rows[$i]);//删除冗余数据
    }
    array_push($jarr,$rows);
}
print_r($jarr);//查看数组
echo "<br/>";
 
echo &#39;<hr>&#39;;
 
echo &#39;编码后的json字符串:&#39;;
echo $str=json_encode($jarr,JSON_UNESCAPED_UNICODE);//将数组进行json编码
echo &#39;<br>&#39;;
$arr=json_decode($str);//再进行json解码
echo &#39;解码后的数组:&#39;;
print_r($arr);//打印解码后的数组,数据存储在对象数组中
mysqli_close($conn);

其實原理很簡單,就是將資料庫中的資料儲存到一個陣列之後,再對這個陣列進行編碼。但是,我們需要注意的是,如果資料庫中有中文,而對其進行JSON編碼之後,仍然想使其變為中文。我們需要在 json_encode()中加上一個選項, JSON_UNESCAPED_UNICODE。也就是避免對中文用utf-8編碼。上面的程式碼已經實現。

以上是php如何將結果集轉json的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn