首頁 > 後端開發 > php教程 > php中的json_encode()和json_decode()函數詳解

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

PHPz
發布: 2023-03-22 09:52:02
原創
24848 人瀏覽過

在介紹這兩個函數之前,我還是想說json。不知道大家對json了解多少,感覺自己接觸php一段時間後,就已經對json有些印象,但僅僅是印象而已,我只知道它是一種資料類型,比較輕量。但是對於它的結構,我真的是模糊不清,直到現在使用它,我才了解到,所以:實踐是檢驗你是否獲得真知的一種非常有效的方法。

一:首先是json_encode(),意思是將資料轉換為json格式,那麼什麼型別資料可以轉換成json格式呢

     1.物件。

     定義一個class,new一個對象,可以將物件轉換為json格式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?php

   class Emp {

       public $name = "";

       public $hobbies  = "";

       public $birthdate = "";

   }

   $e = new Emp();

   $e->name = "sachin";

   $e->hobbies  = "sports";

   $e->birthdate = date(&#39;m/d/Y h:i:s a&#39;, "8/5/1974 12:20:03 p");

   $e->birthdate = date(&#39;m/d/Y h:i:s a&#39;, strtotime("8/5/1974 12:20:03"));

 

   echo json_encode($e);

?>

登入後複製

結果

1

{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}

登入後複製

 2.陣列。

 定義一個鍵值對數組

1

2

3

4

<?php

   $arr = array(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 5);

   echo json_encode($arr);

?>

登入後複製

結果

1

{"a":1,"b":2,"c":3,"d":4,"e":5}

登入後複製

我們可以知道都是轉為了json格式數據,其實重點不在於結果相同,因為都是轉為json麼。 。我們要知道的是可以轉為json格式的資料型別是物件和鍵值對數組

二:其次是json_decode()對 JSON 格式的字串進行解碼,並轉換為 PHP 變數。

先上程式碼

1

2

3

4

5

6

<!--?php

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

 

   var_dump(json_decode($json));

   var_dump(json_decode($json, true));

?-->

登入後複製

列印結果

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
mysql儲存json錯誤
來自於 1970-01-01 08:00:00
0
0
0
php - Json中存在的反斜線
來自於 1970-01-01 08:00:00
0
0
0
取得:傳輸JSON數據
來自於 1970-01-01 08:00:00
0
0
0
php json 轉換
來自於 1970-01-01 08:00:00
0
0
0
javascript - 關於json數據的展示問題
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板