Dengan penggunaan aplikasi web yang meluas, pengekodan dan penyahkodan data telah menjadi satu proses yang diperlukan. Dalam PHP, menggunakan JSON (JavaScript Object Notation) untuk pengekodan data dan penyahkodan data telah menjadi cara yang sangat popular dan biasa.
JSON ialah format pertukaran data ringan yang mewakili data dalam bentuk objek JavaScript dan boleh memudahkan penghantaran dan penghuraian rentetan. Dalam PHP, menggunakan JSON untuk mengekod dan menyahkod data adalah sangat mudah dan hanya memerlukan sejumlah kecil kod untuk dilaksanakan.
Terdapat banyak cara untuk melaksanakan JSON dalam PHP Anda boleh menggunakan fungsi PHP asli atau menggabungkannya dengan perpustakaan pihak ketiga. Walau bagaimanapun, dalam versi selepas PHP 5.2, ia datang dengan dua fungsi, json_encode() dan json_decode(), yang boleh melakukan pengekodan dan penyahkodan data dengan mudah.
Berikut ialah pengenalan terperinci kepada penggunaan kedua-dua fungsi ini:
json_encode() function:
json_encode() function boleh menukar tatasusunan PHP atau objek kepada rentetan JSON . Sintaksnya adalah seperti berikut:
string json_encode(mixed $value, int $options = 0, int $depth = 512)
Antaranya, parameter $value diperlukan dan mewakili nilai untuk dikodkan ; Parameter $options digunakan untuk menetapkan pilihan pengekodan, yang boleh menjadi salah satu daripada nilai berikut:
JSON_HEX_TAG: Tukar semua '<' dan '>' kepada 'u003C' dan 'u003E ', anda boleh Mencegah serangan XSS.
JSON_HEX_APOS: Tukar semua petikan tunggal kepada 'u0027' untuk mengelakkan konflik petikan dalam rentetan.
JSON_HEX_QUOT: Tukar semua petikan berganda kepada 'u0022' untuk mengelakkan konflik petikan dalam rentetan.
JSON_HEX_AMP: Tukar semua '&' kepada 'u0026' untuk mengelakkan masalah semasa menyerahkan borang.
JSON_UNESCAPED_SLASHES: Jangan lari dari garis miring.
JSON_PRETTY_PRINT: Gunakan ruang untuk pemformatan.
Parameter $depth digunakan untuk menetapkan kedalaman siri, yang boleh mengelakkan gelung tak terhingga yang disebabkan oleh rujukan bersama tatasusunan atau objek. Nilai lalai ialah 512, yang boleh ditetapkan kepada 0 untuk mengehadkan kedalaman.
Sebagai contoh, untuk mengekod tatasusunan PHP ke dalam rentetan JSON anda boleh menggunakan kod berikut:
$arr = array('name'=>' John', 'age'=>30, 'city'=>'New York');
echo json_encode($arr);
?>
Hasil output ialah:
{"name":"John","age":30,"city":"New York"}
json_decode() fungsi:
json_decode() fungsi boleh Menukar rentetan JSON kepada tatasusunan atau objek PHP. Sintaksnya adalah seperti berikut:
json_decode bercampur(rentetan $json, bool $assoc = false, int $depth = 512, int $options = 0)
Antaranya, parameter $json diperlukan , menunjukkan rentetan JSON untuk dinyahkodkan; parameter $assoc digunakan untuk menetapkan jenis data yang dikembalikan selepas penyahkodan, yang boleh menjadi salah satu nilai berikut:
false: Mengembalikan objek.
benar: Mengembalikan tatasusunan bersekutu.
Parameter $depth digunakan dengan cara yang sama seperti fungsi json_encode() dan digunakan untuk mengelakkan gelung tak terhingga disebabkan oleh rujukan bersama bagi objek atau tatasusunan parameter $options digunakan untuk menetapkan pilihan semasa penyahkodan; yang boleh menjadi salah satu daripada nilai berikut :
JSON_BIGINT_AS_STRING: Tukarkan integer besar dalam rentetan JSON kepada rentetan.
Sebagai contoh, untuk menyahkod rentetan JSON ke dalam tatasusunan PHP anda boleh menggunakan kod berikut:
$json = '{"name":"John" ,"umur" :30,"city":"New York"}';
print_r(json_decode($json));
?>
Hasil output ialah:
Objek StdClass
(
[name] => John [age] => 30 [city] => New York
)
Kesimpulan:
Dari segi kepraktisan dan keserasian, JSON telah menjadi salah satu format data yang paling popular pada masa ini. Menggunakan JSON untuk pengekodan data dan penyahkodan data dalam PHP juga merupakan kaedah yang sangat mudah, pantas dan stabil. Menguasai penggunaan fungsi json_encode() dan json_decode() akan menjadikan kerja pembangun lebih cekap dan mudah.
Atas ialah kandungan terperinci Pengekodan data dan penyahkodan data dalam PHP menggunakan JSON. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!