Manual belajar ...login
Manual belajar kendiri lengkap PHP
pengarang:php.cn  masa kemas kini:2022-04-15 13:53:54

PHP JSON


Dalam bab ini kami akan memperkenalkan cara menggunakan bahasa PHP untuk mengekod dan menyahkod objek JSON.


Konfigurasi persekitaran

Pelanjutan JSON telah terbina dalam dalam php5.2.0 dan ke atas.


Fungsi JSON

函数描述
json_encode对变量进行 JSON 编码
json_decode对 JSON 格式的字符串进行解码,转换为 PHP 变量
json_last_error返回最后发生的错误

json_encode

PHP json_encode() digunakan untuk mengekod pembolehubah JSON Fungsi ini mengembalikan data JSON jika berjaya dilaksanakan. , jika tidak, kembalikan FALSE.

Sintaks

string json_encode ( $value [, $options = 0 ] )

Parameter

  • nilai: untuk dikodkan nilai. Fungsi ini hanya sah untuk data yang dikodkan UTF-8.

  • pilihan: Topeng binari yang terdiri daripada pemalar berikut: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_HEX_PRETTY_CHECK, JSON_HEX_QUOT BJEK

Contoh

Contoh berikut menunjukkan cara menukar tatasusunan PHP kepada data format JSON:

<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>
Hasil pelaksanaan kod di atas ialah:
{"a":1,"b":2,"c":3,"d":4,"e":5}
Contoh berikut menunjukkan cara menukar objek PHP ke dalam data format 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);
?>
Hasil pelaksanaan kod di atas ialah:
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}

json_decode

Fungsi json_decode() PHP digunakan untuk menyahkod rentetan format JSON dan menukarnya kepada pembolehubah PHP.

Sintaks

mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

Parameter

  • json_string: untuk dinyahkod Rentetan JSON, mestilah data berkod UTF-8

  • assoc: Apabila parameter ini TRUE, tatasusunan akan dikembalikan dan apabila FALSE, objek akan dikembalikan.

  • kedalaman: parameter jenis integer, yang menentukan kedalaman rekursi

  • pilihan: Topeng binari, pada masa ini hanya JSON_BIGINT_AS_STRING disokong.

Contoh

Contoh berikut menunjukkan cara menyahkod data JSON:

<?php
   $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>
Hasil daripada melaksanakan kod di atas ialah:
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)
}

Laman web PHP Cina