Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan JSON kepada tatasusunan dalam php

Bagaimana untuk menukar rentetan JSON kepada tatasusunan dalam php

PHPz
PHPzasal
2023-04-19 10:09:15468semak imbas

Sebagai bahasa pengaturcaraan web yang berkuasa, PHP selalunya perlu menukar data kepada format JSON untuk penghantaran. Dalam kebanyakan kes, kita perlu menukar data format JSON kepada tatasusunan untuk memudahkan pemprosesan dan pembentangan program PHP. Artikel ini akan memperkenalkan secara ringkas cara menukar rentetan JSON kepada tatasusunan PHP menggunakan fungsi terbina dalam PHP.

  1. Apakah itu JSON

JSON ialah format pertukaran data ringan yang mudah dibaca dan ditulis serta mudah dihuraikan dan dijana oleh mesin. Ia berdasarkan sintaks JavaScript tetapi tidak seperti itu, JSON ialah format teks yang digunakan untuk menyimpan dan bertukar data.

JSON terdiri daripada dua struktur data: objek dan tatasusunan. Objek ialah koleksi pasangan kunci/nilai yang tidak tersusun dan tatasusunan ialah koleksi nilai tersusun. JSON boleh mewakili jenis data ringkas, seperti nombor, rentetan, nilai Boolean dan nilai nol, serta jenis data yang kompleks, seperti tatasusunan dan objek. Format rentetan JSON adalah tetap dan boleh dihuraikan dan dijana dengan mudah melalui bahasa pengaturcaraan seperti JavaScript dan PHP.

  1. Fungsi terbina dalam PHP json_decode()

PHP menyediakan fungsi terbina dalam json_decode() yang sangat berkuasa, yang boleh menukar rentetan format JSON kepada tatasusunan PHP . Prototaip fungsi adalah seperti berikut:

json_decode bercampur(rentetan $json_string, bool $assoc = false, int $depth = 512, int $options = 0)

Penerangan parameter:

  • $json_string : diperlukan. Rentetan JSON untuk menyahkod.
  • $assoc : Pilihan. Lalai adalah palsu, yang bermaksud objek akan dikembalikan. Jika benar, tatasusunan bersekutu akan dikembalikan.
  • $depth : Pilihan. Kedalaman yang boleh dihuraikan oleh penyahkod secara rekursif. Lalai ialah 512.
  • $options : Pilihan. Ia boleh menjadi mana-mana pemalar berikut: JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR. Lalai ialah 0, yang bermaksud tiada pilihan.

Fungsi ini mengembalikan tatasusunan atau objek PHP.

Contohnya:

$json_string = '{"name":"John", "age":30, "city":"New York"}';
$result = json_decode($json_string, true);
print_r($result);

akan mengeluarkan:

Array
(

[name] => John
[age] => 30
[city] => New York

)

Jika kita menetapkan parameter kedua kepada palsu, ia akan mengembalikan objek seperti yang ditunjukkan di bawah:

$json_string = '{"name":"John", "age":30, " city" :"New York"}';
$result = json_decode($json_string);
gema $result->name;

akan mengeluarkan:

John

  1. Contoh

Seterusnya, kami akan memberikan contoh lengkap tentang cara menukar rentetan JSON kepada tatasusunan PHP.

//Tentukan rentetan JSON untuk dinyahkod
$json_string = '{"name":"John", "age":30, "city":"New York"}';

//Nyahkod JSON dan kembalikan tatasusunan PHP
$result = json_decode($json_string, true);

//Cetak nilai dalam tatasusunan
echo "Nama: " . $result['name'] . "
";
echo "Umur: " $result['age'] : " . $result['city'];
?>

akan mengeluarkan keputusan berikut:

Nama: John

Umur: 30

Bandar: Baharu York

Ringkasan
  1. Artikel ini menerangkan cara menggunakan fungsi terbina dalam PHP json_decode() untuk menukar rentetan berformat JSON kepada tatasusunan PHP. Kami juga membincangkan cara menukar tingkah laku lalai dan menyahkod JSON secara terpilih menjadi tatasusunan atau objek bersekutu. Akhir sekali, kami menyediakan contoh lengkap tentang cara menggunakan fungsi json_decode() dalam program PHP. Dalam projek sebenar, fungsi json_decode() PHP adalah sangat penting. Ia boleh menjadikan program kami lebih fleksibel dan cekap.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan JSON kepada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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