成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

詳解php中的json_encode()和json_decode()函數(shù)

Pines_Cheng / 2533人閱讀

摘要:在介紹這兩個函數(shù)之前,我還是想說一下。我們需要知道的是可以轉(zhuǎn)為格式的數(shù)據(jù)類型是對象和鍵值對數(shù)組其次是。對格式的字符串進(jìn)行解碼,并轉(zhuǎn)換為變量。這樣我們可以很好的解釋的第二個參數(shù)當(dāng)為時返回數(shù)組當(dāng)為默認(rèn)為時返回對象。

? ? 在介紹這兩個函數(shù)之前,我還是想說一下json。不知道大家對json了解多少,感覺自己接觸php一段時間后,就已經(jīng)對json有些印象,但僅僅是印象而已,我只知道它是一種數(shù)據(jù)類型,比較輕量。但是對于它的結(jié)構(gòu),我真的是模糊不清,直到現(xiàn)在使用它,我才了解到,所以:實踐是檢驗?zāi)闶欠瘾@得真知的一種非常有效的方法。

首先是json_encode(),意思就是將數(shù)據(jù)轉(zhuǎn)為json格式,那什么類型數(shù)據(jù)可以轉(zhuǎn)為json格式呢

? ? ?1.對象。

? ? ?定義一個class,new一個對象,可以將對象轉(zhuǎn)為json格式

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);
?>
結(jié)果

{"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"}
?2.數(shù)組。

?定義一個鍵值對數(shù)組

$arr = array("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5);
echo json_encode($arr);
?>
結(jié)果

{"a":1,"b":2,"c":3,"d":4,"e":5}
我們可以知道都是轉(zhuǎn)為了json格式數(shù)據(jù),其實重點不在于結(jié)果相同,因為都是轉(zhuǎn)為json么。。我們需要知道的是可以轉(zhuǎn)為json格式的數(shù)據(jù)類型是對象和鍵值對數(shù)組

其次是json_decode()。對 JSON 格式的字符串進(jìn)行解碼,并轉(zhuǎn)換為 PHP 變量。

先上代碼

$json = "{"a":1,"b":2,"c":3,"d":4,"e":5}";

var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
打印結(jié)果

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)

}
這里我們很顯然的看出第一個打印結(jié)果是一個對象,第二個是一個鍵值對數(shù)組。

這樣我們可以很好的解釋json_decode()的第二個參數(shù):

當(dāng)為true時:返回數(shù)組;當(dāng)為false(默認(rèn)為false)時:返回對象。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/102759.html

相關(guān)文章

  • PHP 自 5.2 到 5.6 中新增的功能詳解

    摘要:本文將會介紹自起,直至中增加的新特征。棄用的功能以下幾個功能被棄用,若在配置文件中啟用,則會在運(yùn)行時發(fā)出警告。該類的完整限定名是其中第一個反斜杠表示全局命名空間。目的在于模仿的不對,目的是為了讓發(fā)布應(yīng)用程序更加方便。 截至目前(2014.2), PHP 的最新穩(wěn)定版本是 PHP5.5, 但有差不多一半的用戶仍在使用已經(jīng)不在維護(hù) [注] 的 PHP5.2, 其余的一半用戶在使用 PHP5...

    番茄西紅柿 評論0 收藏0
  • PHP序列化反序列化注意什么

    摘要:和函數(shù)這兩個是序列化和反序列化中數(shù)據(jù)的常用函數(shù)。序列化數(shù)組輸出結(jié)果反序列化輸出結(jié)果當(dāng)數(shù)組值包含如雙引號單引號或冒號等字符時,它們被反序列化后,可能會出現(xiàn)問題。序列化反序列化但是編碼將增加字符串的長度。序列化數(shù)組輸出結(jié)果反序列化 序列化是將變量轉(zhuǎn)換為可保存或傳輸?shù)淖址倪^程;反序列化就是在適當(dāng)?shù)臅r候把這個字符串再轉(zhuǎn)化成原來的變量使用。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù),使程序...

    Tangpj 評論0 收藏0
  • JS+PHP+MYSQL處理JSON的全面總結(jié)

    摘要:結(jié)論把存入數(shù)據(jù)庫前必須做次處理中文處理包含中文的字符串時,會將中文字符轉(zhuǎn)換為的形式,而且通過是不能恢復(fù)的。處理特殊字符通過解決中文問題會帶來新問題,的特殊字符處理。 開發(fā)過程中經(jīng)常碰到要把前端的json格式的數(shù)據(jù)傳遞到后端php,php做一些業(yè)務(wù)處理后把數(shù)據(jù)存到mysql,然后,php再從mysql中取出數(shù)據(jù)返回到前端。雖然這是一個再基礎(chǔ)不過的處理過程,但還是有不少問題需要認(rèn)真研究。下...

    騫諱護(hù) 評論0 收藏0
  • JS+PHP+MYSQL處理JSON的全面總結(jié)

    摘要:結(jié)論把存入數(shù)據(jù)庫前必須做次處理中文處理包含中文的字符串時,會將中文字符轉(zhuǎn)換為的形式,而且通過是不能恢復(fù)的。處理特殊字符通過解決中文問題會帶來新問題,的特殊字符處理。 開發(fā)過程中經(jīng)常碰到要把前端的json格式的數(shù)據(jù)傳遞到后端php,php做一些業(yè)務(wù)處理后把數(shù)據(jù)存到mysql,然后,php再從mysql中取出數(shù)據(jù)返回到前端。雖然這是一個再基礎(chǔ)不過的處理過程,但還是有不少問題需要認(rèn)真研究。下...

    anRui 評論0 收藏0
  • PHP json_decode 遇到的坑

    摘要:原始數(shù)據(jù)其中是我要進(jìn)行處理的字段,處理完成之后再次使用進(jìn)行編碼。所以正確的做法是在解碼的時候不要傳遞第二個參數(shù)讓解碼結(jié)果是一個對象,然后操作對象的屬性,操作完成之后再次編碼就不會出現(xiàn)偏差。 場景:某項目客戶反饋,輸出的結(jié)果 JSON 中有個要求為對象的數(shù)據(jù)字段,在某些情況下返回的是 [] 而不是 {};數(shù)據(jù)由公司其他部門提供,查看原始數(shù)據(jù)的時候,沒有發(fā)現(xiàn)任何問題;后來因為要加入某些預(yù)處...

    Ryan_Li 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<