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

Bagaimana untuk menukar json ke array dalam php

PHPz
PHPzasal
2023-04-23 10:05:48830semak imbas

PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular yang boleh mengendalikan pelbagai jenis data dan menyediakan perpustakaan fungsi yang kaya untuk memproses data. JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang digunakan secara meluas dalam interaksi data hadapan dan belakang, penghantaran data antara muka API dan medan lain. Dalam PHP, menukar rentetan JSON kepada tatasusunan ialah operasi biasa. Jadi, bagaimanakah PHP menukar JSON kepada tatasusunan? Artikel ini akan menerangkannya kepada anda secara terperinci.

Dalam PHP, menukar JSON kepada tatasusunan terutamanya bergantung pada dua fungsi teras, iaitu json_encode dan json_decode. Antaranya, fungsi json_encode menukar tatasusunan atau objek PHP kepada rentetan format JSON, dan fungsi json_decode menukar rentetan format JSON kepada tatasusunan atau objek PHP. Penggunaan khusus kedua-dua fungsi ini diperkenalkan di bawah.

  1. fungsi json_encode

fungsi json_encode digunakan untuk menukar tatasusunan atau objek PHP kepada rentetan format JSON Sintaks asas fungsi adalah seperti berikut:

string json_encode ( mixed $value , int $options = 0 , int $depth = 512 )

Antaranya, parameter $value diperlukan dan mewakili tatasusunan PHP atau objek yang akan dikodkan. Parameter $options mewakili pilihan pengekodan, dan nilai pilihan ditakrifkan dalam bentuk pemalar Contohnya, JSON_PRETTY_PRINT bermaksud memformat rentetan format JSON, JSON_UNESCAPED_UNICODE bermaksud tidak melepaskan aksara bukan ASCII, dsb. Parameter $depth menunjukkan kedalaman rekursi maksimum, dan nilai lalai ialah 512.

Berikut ialah contoh mudah untuk menukar tatasusunan PHP kepada rentetan format JSON:

<?php
$arr = array(&#39;name&#39; => '张三', 'age' => 18);
$json = json_encode($arr);
echo $json; //输出{"name":"张三","age":18}
?>
  1. fungsi json_decode

fungsi json_decode digunakan Untuk menukar rentetan format JSON kepada tatasusunan atau objek PHP, sintaks asas fungsi adalah seperti berikut:

mixed json_decode ( string $json , bool $assoc = false , int $depth = 512 , int $options = 0 )

Antaranya, parameter $json diperlukan dan mewakili rentetan format JSON untuk dinyahkod. Parameter $assoc menunjukkan sama ada hasil yang dikembalikan ialah tatasusunan bersekutu Nilai pilihan adalah benar atau salah Lalai adalah palsu, yang bermaksud hasil yang dikembalikan ialah objek. Parameter $depth menunjukkan kedalaman rekursi maksimum, dan nilai lalai ialah 512. Parameter $options mewakili pilihan penyahkodan, dan nilai pilihan ditakrifkan dalam bentuk pemalar Contohnya, JSON_BIGINT_AS_STRING mewakili integer pemprosesan yang lebih besar daripada PHP_INT_MAX sebagai rentetan, JSON_OBJECT_AS_ARRAY mewakili rentetan format JSON ke dalam tatasusunan bersekutu, dsb.

Berikut ialah contoh mudah untuk menukar rentetan format JSON kepada tatasusunan PHP:

<?php
$json = &#39;{"name":"张三","age":18}&#39;;
$arr = json_decode($json, true);
print_r($arr); //输出Array ( [name] => 张三 [age] => 18 )
?>

Perlu diambil perhatian bahawa apabila menggunakan fungsi json_decode untuk menyahkod rentetan format JSON, jika Terdapat aksara Cina dalam rentetan format JSON dan parameter $assoc perlu ditetapkan kepada benar untuk memastikan bahawa hasil yang dinyahkodkan ialah tatasusunan bersekutu dan bukannya objek.

Ringkasan

Artikel ini memperkenalkan cara PHP menukar rentetan format JSON kepada tatasusunan, terutamanya bergantung pada dua fungsi teras json_encode dan json_decode. Dengan menggunakan dua fungsi ini, anda boleh menukar tatasusunan atau objek PHP ke dalam rentetan format JSON dengan mudah dan menukar rentetan format JSON kepada tatasusunan atau objek PHP. Perlu diingat bahawa apabila pengekodan dan penyahkodan JSON, pilihan pengekodan dan penyahkodan hendaklah digunakan secara munasabah untuk memastikan ketepatan dan kecekapan pengekodan dan penyahkodan.

Atas ialah kandungan terperinci Bagaimana untuk menukar json ke array 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