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

首頁 > 編程 > PHP > 正文

深入理解PHP JSON數組與對象

2020-03-22 19:46:44
字體:
來源:轉載
供稿:網友
在PHP后端和客戶端數據交互的過程中,JSON數據中有時格式不定,一會兒是數組,一會兒是對象,弄得客戶端開發人員要崩潰的感覺。因此,前后端相關人員先對PHP的json_encode函數原理有必要的了解是最重要的一個環節。PHP中的array是個萬能的數據結構,并不像其它語言根據需要的場景會定義很多約束性的數據類型來描述結構,所以PHP程序員是很難給客戶端人員講清楚返回的是什么結構的數據的。
也就變成明明是通過PHP的數組數據編碼成json的,但輸出值有時是數組、有時是對象的情況。如果你想生成一個json格式的數組格式(Vector)而非對象格式(Map)的,那么數據的下標:必須是數字索引,必須從0開始,必須從小到大依次增加、中間不可以跳躍、順序不可變動.//符合數組$vector = [12, 23, 18echo json_encode($vector);//符合數組$vector2 = [0 = 12, 1 = 23, 2 = 18echo json_encode($vector2);//不符合數組,下標有跳躍$map = [0 = 12, 1 = 23, 2 = 18, 4 = 20echo json_encode($map);//不符合數組,下標順序不對$map = [0 = 12, 1 = 23, 3 = 18, 2 = 20echo json_encode($map);//不符合數組,下標沒有從0開始$map_1 = [1 = '111', 2 = 'asdfa'echo json_encode($map_1);//典型的對象格式$map_2 = ['abc' = 1, 'de' = 2, 'fi' = null];echo json_encode($map_2);* 請注意上面的變量命名,對應于Hack中的概念,Vector和Map為兩種數據集合類型* 如果你需要將"索引數組"強制轉化成"對象",可以這樣寫* json_encode((object) $a);* json_encode ($a, JSON_FORCE_OBJECT);*/解決方案是什么呢?就是通過PHP封裝Vector和Map這兩種數據結構的類,在構造json輸出結構時,以這兩種類型做封裝和轉換,來確保結構的確定性。
以上所述是小編給大家介紹的PHP JSON數組與對象,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對phpstudy網站的支持!PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乳山市| 华坪县| 昌宁县| 那曲县| 富锦市| 曲阜市| 临桂县| 彰武县| 米脂县| 莱州市| 沙坪坝区| 资溪县| 综艺| 积石山| 宁河县| 阿城市| 平江县| 陕西省| 滦南县| 徐水县| 岚皋县| 繁昌县| 平定县| 高要市| 永济市| 仪征市| 襄城县| 壤塘县| 铅山县| 仁寿县| 左贡县| 峨山| 铜山县| 克东县| 辽阳县| 正宁县| 禹城市| 鄂尔多斯市| 深水埗区| 桐柏县| 赤城县|