Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar json ke dalam array dalam php

Bagaimana untuk menukar json ke dalam array dalam php

PHPz
Lepaskan: 2023-04-24 15:29:53
asal
5892 orang telah melayarinya

Dalam PHP, menukar JSON kepada tatasusunan ialah operasi yang sangat biasa. JSON ialah format pertukaran data ringan yang mewakili data dalam bentuk pasangan nilai kunci, dan tatasusunan juga merupakan struktur untuk menyimpan data. Menukar JSON kepada tatasusunan boleh membantu kami memproses dan memanipulasi data dengan lebih mudah.

Mari perkenalkan beberapa kaedah untuk menukar JSON kepada tatasusunan dalam PHP.

Kaedah 1: fungsi json_decode()

PHP menyediakan fungsi json_decode() terbina dalam untuk menukar rentetan JSON kepada tatasusunan PHP. Untuk menggunakan fungsi ini, anda hanya perlu menghantar rentetan JSON sebagai parameter Fungsi ini juga boleh menerima parameter pilihan $assoc untuk mengawal jenis tatasusunan yang dikembalikan.

Kod sampel adalah seperti berikut:

$json = '{"name":"john", "age":30, "city":"New York"}';

$array = json_decode($json);

print_r($array);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
   [name] => john
   [age] => 30
   [city] => New York
)
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, $json ialah rentetan yang mengandungi JSON data, melalui fungsi json_decode () menukarnya kepada tatasusunan PHP. Oleh kerana parameter $assoc tidak diluluskan, tatasusunan jenis objek dikembalikan secara lalai. Jika anda perlu mengembalikan tatasusunan bersekutu, anda boleh lulus parameter kedua sebagai benar.

$json = '{"name":"john", "age":30, "city":"New York"}';

$array = json_decode($json, true);

print_r($array);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
   [name] => john
   [age] => 30
   [city] => New York
)
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan fungsi json_decode() dan fungsi file_get_contents()

Selain penyahkodan Aksara JSON melalui fungsi json_decode() Selain menukar rentetan kepada tatasusunan, anda juga boleh mendapatkan kandungan fail JSON melalui fungsi file_get_contents() dan menukarnya kepada tatasusunan PHP menggunakan fungsi json_decode().

Kod sampel adalah seperti berikut:

$json = file_get_contents('data.json');

$array = json_decode($json);

print_r($array);
Salin selepas log masuk

Dalam kod di atas, gunakan fungsi file_get_contents() untuk mendapatkan kandungan fail JSON bernama data.json, dan kemudian gunakan json_decode() berfungsi untuk menukarnya kepada tatasusunan PHP.

Perlu diambil perhatian bahawa apabila menggunakan kaedah ini, aksara BOM (Byte Order Mark) tidak boleh wujud dalam fail JSON, jika tidak, ia tidak akan dihuraikan dengan betul dan ditukar kepada tatasusunan PHP.

Kaedah 3: Gunakan fungsi json_decode() dan perpustakaan curl

Jika anda perlu mendapatkan data JSON yang dikembalikan oleh pelayan jauh dan menukarnya menjadi tatasusunan PHP, anda boleh menggunakan perpustakaan curl dan json_decode() fungsi .

Kod sampel adalah seperti berikut:

$url = 'http://example.com/data.json';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$json = curl_exec($ch);

$array = json_decode($json);

curl_close($ch);

print_r($array);
Salin selepas log masuk

Dalam kod di atas, perpustakaan curl digunakan untuk menghantar permintaan GET untuk mendapatkan kandungan fail JSON jauh bernama data.json , dan gunakan fungsi json_decode() untuk menukarnya kepada tatasusunan PHP.

Ringkasan

Di atas ialah beberapa cara untuk menukar data format JSON kepada tatasusunan PHP. Jika anda perlu menggunakan data format JSON dalam projek PHP, anda boleh menggunakan kaedah ini untuk menukarnya kepada tatasusunan PHP untuk pemprosesan dan manipulasi yang lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk menukar json ke dalam array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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