国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php使用json_encode對變量json編碼

2024-05-04 23:22:40
字體:
來源:轉載
供稿:網友

在 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'
};

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 株洲市| 云浮市| 贡嘎县| 翁牛特旗| 黑河市| 周至县| 青海省| 西藏| 马山县| 绥棱县| 祁连县| 四会市| 临沂市| 青河县| 兴城市| 永新县| 紫阳县| 广平县| 岱山县| 博罗县| 莱阳市| 晋江市| 许昌县| 枣庄市| 遵化市| 钟山县| 方城县| 嘉义市| 岗巴县| 微山县| 莱芜市| 白河县| 锡林郭勒盟| 松溪县| 简阳市| 景泰县| 嘉义县| 石首市| 闵行区| 兴和县| 巴彦淖尔市|