導讀跟大家講解下有關php中的json_encode()和json_decode()函數詳解,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說php中的json
跟大家講解下有關php中的json_encode()和json_decode()函數詳解,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說php中的json_encode()和json_decode()函數詳解,小編也收集到了有關php中的json_encode()和json_decode()函數詳解的相關資料,希望大家看到了會喜歡。
在介紹這兩個函數之前,我還是想說一下json。不知道大家對json了解多少,感覺自己接觸php一段時間后,就已經對json有些印象,但僅僅是印象而已,我只知道它是一種數據類型,比較輕量。但是對于它的結構,我真的是模糊不清,直到現在使用它,我才了解到,所以:實踐是檢驗你是否獲得真知的一種非常有效的方法。一:首先是json_encode(),意思就是將數據轉為json格式,那什么類型數據可以轉為json格式呢
1.對象。
定義一個class,new一個對象,可以將對象轉為json格式
<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p"); $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03")); echo json_encode($e);?>結果
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}2.數組。
定義一個鍵值對數組
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr);?>結果
{"a":1,"b":2,"c":3,"d":4,"e":5}我們可以知道都是轉為了json格式數據,其實重點不在于結果相同,因為都是轉為json么。。我們需要知道的是可以轉為json格式的數據類型是對象和鍵值對數組
二:其次是json_decode()。對 JSON 格式的字符串進行解碼,并轉換為 PHP 變量。
先上代碼
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true));?>打印結果
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5)}array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5)}這里我們很顯然的看出第一個打印結果是一個對象,第二個是一個鍵值對數組。
這樣我們可以很好的解釋json_decode()的第二個參數:
當為true時:返回數組;當為false(默認為false)時:返回對象。
相關推薦:
php中關于json_encode()函數的詳解
PHP json_encode() 函數詳解及中文亂碼問題
PHP json_encode() 函數介紹
以上就是php中的json_encode()和json_decode()函數詳解的詳細內容,更多請關注php中文網其它相關文章!
來源:php中文網