php將結果集轉json的方法:首先將資料庫中的資料儲存到一個陣列;然後對這個陣列進行編碼;最後透過「 json_encode」函數進行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 '<hr>'; echo '编码后的json字符串:'; echo $str=json_encode($jarr,JSON_UNESCAPED_UNICODE);//将数组进行json编码 echo '<br>'; $arr=json_decode($str);//再进行json解码 echo '解码后的数组:'; print_r($arr);//打印解码后的数组,数据存储在对象数组中 mysqli_close($conn);
其實原理很簡單,就是將資料庫中的資料儲存到一個陣列之後,再對這個陣列進行編碼。但是,我們需要注意的是,如果資料庫中有中文,而對其進行JSON編碼之後,仍然想使其變為中文。我們需要在 json_encode()中加上一個選項, JSON_UNESCAPED_UNICODE。也就是避免對中文用utf-8編碼。上面的程式碼已經實現。
以上是php如何將結果集轉json的詳細內容。更多資訊請關注PHP中文網其他相關文章!