一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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 理解為關聯數組,但這并不意味著二者可以劃等號,比如 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技術php使用json_encode對變量json編碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久草五月| 日韩精品资源 | 日本理论片在线播放 | 免费精品国产自产拍在 | 国产热视频 | 久久中文字幕综合不卡一二区 | 国产福利在线永久视频 | 四虎伊人 | 色婷婷激情五月综合 | 国产福利小视频高清在线观看 | 高清国产美女一级a毛片 | 亚洲激情视频网 | 五月天三级 | 欧美高清亚洲欧美一区h | 欧美激情在线观看 | 亚洲欧美日韩国产一区二区三区精品 | 韩国免费一级成人毛片 | 亚洲欧洲国产经精品香蕉网 | 美国黄色a级片 | 91丨九色丨首页在线观看 | 中文字幕美日韩在线高清 | 亚洲伊人激情 | 中文字幕在线观看一区二区 | 久久久久综合网 | 精品欧美一区二区三区精品久久 | 中文字幕专区在线亚洲 | 久久91精品国产91久久跳舞 | 一区二区在线免费视频 | 欧美成人精品第一区二区三区 | 精品国产高清a毛片无毒不卡 | 久久综合色88 | 国产欧美精品专区一区二区 | 欧美成人精品福利在线视频 | 色黄视频在线观看 | 91热精品视频 | 亚洲伦理中文字幕一区 | 国产高清精品自在线看 | 夜色精品国产一区二区 | 只有精品 | 婷婷影院在线综合免费视频 | 日韩欧美三区 |