溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現php使用json_encode對變量json編碼

發(fā)布時間:2021-10-08 10:49:01 來源:億速云 閱讀:111 作者:iii 欄目:開發(fā)技術

這篇文章主要講解了“如何實現php使用json_encode對變量json編碼”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何實現php使用json_encode對變量json編碼”吧!

在 ajax 橫行的今天,json 順理成章地成為了前后端交互一個極其重要的工具。對于 PHP 來說,通常使用 json_encode 方法將一個 PHP 組數,轉換成前端可以解析的 json 字符串,這也是 PHP 手冊上描述的內容,但事實是這樣的嗎?看看下面這段代碼:

復制代碼 代碼如下:

$a = array( 'Jack' , 'Sam' , 'Tom' );
echo json_encode( $a );


當 JavaScript 請求到上面的代碼,PHP 將解析數組 $a 為 json 字符串并返回到前端,但事實上在前端拿到的返回結果卻是一個數組。

復制代碼 代碼如下:

[ "Jack" ,  "Sam" ,  "Tom" ]


這個結果對于前端來說也許并不是所期望的,對于 JavaScript 來說,數組和 json 的關系非常密切,甚至可以簡單地把 json 理解為關聯(lián)數組,但這并不意味著二者可以劃等號,比如 json 沒有 length 屬性,也不能進行數字索引,json 是鍵值對,而 JavaScript 的數組嚴格說來是沒有"鍵"的,這和 PHP 的差異比較大。那么為什么 json_encode 的返回結果是數組呢?

本文開頭的 PHP 代碼中的數組是嚴格意義上的數字索引數組,json_encode 方法在處理這樣的數組的時候會返回數組字符串,它需要同時滿足兩個條件:1. 數字索引數組,2. 索引值從 0 開始。這意味著下面的代碼也會返回同樣的結果:

復制代碼 代碼如下:

$b = array(
'0' => 'Jack',
'1' => 'Sam',
'2' => 'Tom'
);
echo json_encode( $b );


這兩個條件的任意一個沒有獲得滿足,那么 json_encode 方法才真正的返回 json 字符串:

復制代碼 代碼如下:

$c = array(
'person-1' => 'Jack',
'person-2' => 'Sam',
'person-3' => 'Tom'
);
echo json_encode( $c );


這時前端得到的結果如下:

復制代碼 代碼如下:

{
'person-1' : 'Jack',
'person-2' : 'Sam',
'person-3' : 'Tom'
};

感謝各位的閱讀,以上就是“如何實現php使用json_encode對變量json編碼”的內容了,經過本文的學習后,相信大家對如何實現php使用json_encode對變量json編碼這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI