您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)php將結(jié)果集轉(zhuǎn)json的方法,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
php將結(jié)果集轉(zhuǎn)json的方法:首先將數(shù)據(jù)庫中的數(shù)據(jù)存儲到一個數(shù)組;然后對這個數(shù)組進(jìn)行編碼;最后通過“ json_encode”函數(shù)進(jìn)行json編碼并打印結(jié)果即可。
PHP將數(shù)據(jù)庫查詢內(nèi)容轉(zhuǎn)換為JSON格式且顯示中文
最近寫android,開始寫服務(wù)器了。最終服務(wù)器的語言就先定為PHP,因?yàn)橐郧皩戇^一陣子網(wǎng)頁,所以就先用PHP試試水。
那么首先為了實(shí)現(xiàn)android前端與服務(wù)器交互,那么我們服務(wù)器傳輸?shù)臄?shù)據(jù)就要先變?yōu)镴SON格式。
那么如何將數(shù)據(jù)庫中的內(nèi)容查詢出來,并且使其轉(zhuǎn)變?yōu)镴SON格式呢?代碼如下:
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);//不能在循環(huán)語句中,由于每次刪除 row數(shù)組長度都減小 for($i=0;$i<$count;$i++){ unset($rows[$i]);//刪除冗余數(shù)據(jù) } array_push($jarr,$rows); } print_r($jarr);//查看數(shù)組 echo "<br/>"; echo '<hr>'; echo '編碼后的json字符串:'; echo $str=json_encode($jarr,JSON_UNESCAPED_UNICODE);//將數(shù)組進(jìn)行json編碼 echo '<br>'; $arr=json_decode($str);//再進(jìn)行json解碼 echo '解碼后的數(shù)組:'; print_r($arr);//打印解碼后的數(shù)組,數(shù)據(jù)存儲在對象數(shù)組中 mysqli_close($conn);
其實(shí)原理很簡單,就是將數(shù)據(jù)庫中的數(shù)據(jù)存儲到一個數(shù)組之后,再對這個數(shù)組進(jìn)行編碼。但是,我們需要注意的是,如果數(shù)據(jù)庫中有中文,而對其進(jìn)行JSON編碼之后,仍然想使其變?yōu)橹形?。我們需要?json_encode()中加上一個選項(xiàng), JSON_UNESCAPED_UNICODE。也就是避免對中文用utf-8編碼。上面的代碼已經(jīng)實(shí)現(xiàn)。
關(guān)于php將結(jié)果集轉(zhuǎn)json的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。