PHP json_decode

王林
Lepaskan: 2024-08-29 13:09:30
asal
1004 orang telah melayarinya

Dalam PHP, fungsi terbina json_decode() ditakrifkan sebagai fungsi; seperti namanya ia adalah fungsi untuk menukar mana-mana JSON objek format teks standard atau penyahkodan objek JSON kepada objek PHP, mengambil rentetan JSON sebagai parameter yang fungsi ini menukar atau menyahkodnya dan mengembalikan nilai yang dikodkan yang ada dalam JSON ke dalam objek PHP yang betul. PHP umumnya menyediakan fungsi yang mengambil rentetan JSON yang biasanya mewakili tatasusunan javascript atau literal objek untuk menukar rentetan yang dikodkan ini dalam format JSON kepada jenis data objek PHP tertentu.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Menggunakan Json_decode() dalam PHP

Dalam artikel ini, json_decode() ialah fungsi terbina yang disediakan oleh PHP untuk menukar atau menyahkod rentetan JSON kepada objek PHP. Dalam PHP, fungsi json_decode() menyahkod rentetan JSON dan menukarkannya kepada objek PHP atau jenis data. Ia mengambil data JSON sebagai parameter dan mengembalikan perwakilan PHP yang sepadan.

Dalam bahagian di bawah, kita akan melihat sintaks dan contoh penggunaan fungsi json_decode():

Sintaks:

json_decode(json_string, asso_arr, recur_depth, opt<em>)</em>
Salin selepas log masuk

Parameter:

Json_string: parameter ini wajib untuk menentukan rentetan berkod JSON untuk menukarnya menjadi objek PHP

  • Asso_arr: parameter ini digunakan untuk menentukan nilai Boolean yang boleh mengembalikan tatasusunan yang berkaitan jika nilai ditetapkan kepada benar, jika tidak mengembalikan objek jika ia ditetapkan kepada palsu. Parameter ini adalah pilihan dan mempunyai nilai palsu sebagai nilai lalai.
  • Recur_depth: parameter ini digunakan untuk menentukan kedalaman rekursi dan ini juga merupakan parameter pilihan dengan 512 sebagai nilai lalai.
  • Pilihan: parameter ini digunakan untuk menentukan bitmask JSON_OBJECT_AS_ARRAY, JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_SUBSTITUTE,, JSON_THROW_ON_ERROR dan ini juga merupakan parameter pilihan>
Sekarang mari kita lihat contoh mudah yang menggunakan json_decode() PHP dalam struktur HTML.

Contoh PHP json_decode

Berikut adalah contoh yang diberikan di bawah:

Contoh #1

Kod:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Educba- PHP json_decode</title>
</head>
<body>
<?php
$json_string = '{
"CompayName": "Educba",
"Director": "Snehal",
"Employee": "Amardeep",
"address": {
"ColonyName": "Shivaji road",
"city": "Baramati",
"state": "Maharashtra",
"postalCode": "1234567"
},
"TelephoneNumbers": [
{ "type": "Work", "phonenumber": "9876543210" }
]
}';
var_dump(json_decode($json_string, true));
?>
</body>
</html>
Salin selepas log masuk

Output:

PHP json_decode

Dalam program di atas, kita dapat melihat apabila kita menulis kod PHP dalam struktur HTML; kita mulakan dengan “< ?php”, kemudian kita menulis kod, dan pada penghujungnya, tag penutup untuk kod PHP ialah “? >”. Ia mempunyai tatasusunan(5), yang bermaksud ia mempunyai 5 elemen dalam tatasusunan. Katakan kami tidak menetapkan apa-apa atau tidak melepasi parameter asso_arr seperti "var_dump(json_decode($json_string));" maka nilai ini akan memberi kita akses kepada sifat objek dalam tatasusunan seperti yang ditunjukkan dalam tangkapan skrin di bawah.

PHP json_decode

Sekarang kita akan melihat contoh di bawah: format JSON yang tidak sah dan menghantar rentetan ini kepada fungsi json_decode() dan ralat dan output yang akan diberikannya. Kami juga akan melihat cara mencetak tatasusunan tersebut, yang boleh diakses menggunakan fungsi "gema" di bahagian bawah.

Contoh #2

Dalam program di bawah, kita akan melihat cara untuk mengakses elemen tatasusunan menggunakan fungsi gema.

Kod:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Educba- PHP json_decode</title>
</head>
<body>
<?php
$json_string = '[
{
"Companyname": "Educba",
"Director": "Snehal",
"phnumber": "89945954874"
},
{
"Companyname": "Google",
"Director": "Ann",
"phnumber": "9877564694"
}
]';
$x = json_decode($json_string);
echo $x[0]->Companyname;
?>
</body>
</html>
Salin selepas log masuk

Output:

PHP json_decode

Dalam atur cara di atas, kita boleh melihat apabila kita telah mengisytiharkan json_string dan mengakses mana-mana elemen dalam tatasusunan; kami menggunakan array[index] dalam mana-mana bahasa pengaturcaraan. begitu juga, kita menulisnya dengan fungsi gema, dan dalam kod di atas, kita perlu perhatikan bahawa kita tidak melepasi parameter asso_arr dalam fungsi json_decode(), jadi untuk mengakses elemen, kita perlu menulis "echo $x[ 0]-> Nama syarikat;” dan jika kita menetapkan parameter kedua kepada "true" maka kita perlu menulis "echo $x[0]['Nama Syarikat'];".

Contoh #3

Di bawah, kita akan melihat menghantar rentetan JSON yang tidak sah kepada fungsi dan cuba mencetak ralat juga.

Kod:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Educba- PHP json_decode</title>
</head>
<body>
<?php
$json_string = '[
{
"Companyname": "Educba"
"Director": "Snehal"
"phnumber": "89945954874"
"Companyname": "Google"
"Director": "Ann"
"phnumber": "9877564694"
}
]';
$x = json_decode($json_string);
echo $x[0]->Companyname;
echo json_last_error();
echo json_last_error_msg();
?>
</body>
</html>
Salin selepas log masuk

Output:

PHP json_decode

Kami mencetak maklumat ralat, seperti "4 ralat sintaks," menggunakan fungsi json_last_error() dan json_last_error_msg(). Fungsi ini memberikan butiran tentang ralat yang berkaitan dengan kod PHP yang ditulis dalam contoh di atas. Jika kami tidak mahu mencetak sebarang mesej ralat menggunakan fungsi ralat, output akan menjadi "null", menunjukkan bahawa objek PHP yang ditukar atau data JSON itu sendiri adalah tidak sah.

PHP json_decode

Atas ialah kandungan terperinci PHP json_decode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan