Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan kepada format json dalam php

Bagaimana untuk menukar tatasusunan kepada format json dalam php

PHPz
PHPzasal
2023-04-18 10:26:11758semak imbas

PHP ialah bahasa pengaturcaraan yang sangat popular yang digunakan secara meluas dalam bidang pembangunan web. Dalam PHP, tatasusunan ialah jenis data yang sangat biasa yang digunakan untuk menyimpan satu set data berkaitan. Apabila menukar tatasusunan dalam PHP kepada format JSON, ia boleh dicapai melalui beberapa fungsi tertentu, supaya data boleh dipindahkan dan diproses dengan mudah antara aplikasi yang berbeza.

1. Apakah itu JSON?

Sebelum memperkenalkan cara menukar tatasusunan PHP kepada format JSON, anda perlu memahami apa itu JSON terlebih dahulu.

JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan. Ia berdasarkan subset bahasa JavaScript, tetapi ia boleh digunakan oleh pelbagai bahasa pengaturcaraan. Format JSON sangat ringkas dan mudah difahami dan dibaca. Ia terdiri daripada dua bahagian: pasangan nilai kunci dan tatasusunan.

Sebagai contoh, berikut ialah contoh format JSON yang mudah:

{
   "name": "Tom",
   "age": 25,
   "address": {
      "city": "Shanghai",
      "street": "Changning Road"
   },
   "phoneNumbers": [
      "123456789",
      "987654321"
   ]
}

Dalam contoh di atas, objek JSON mengandungi empat atribut, iaitu nama, umur, alamat dan Nombor telefon . Di mana alamat ialah objek JSON bersarang dan phoneNumbers ialah tatasusunan.

2. Kaedah untuk menukar tatasusunan PHP kepada format JSON

Dalam PHP, anda boleh menggunakan fungsi json_encode() untuk menukar tatasusunan kepada format JSON, contohnya:

<?php
   $arr = array(
      "name" => "Tom",
      "age" => 25,
      "address" => array(
         "city" => "Shanghai",
         "street" => "Changning Road"
      ),
      "phoneNumbers" => array(
         "123456789",
         "987654321"
      )
   );

   $json = json_encode($arr);

   echo $json;
?>

Dalam contoh di atas, kami mula-mula mentakrifkan tatasusunan PHP $arr, kemudian gunakan fungsi json_encode() untuk menukarnya ke dalam format JSON dan menyimpan hasilnya dalam pembolehubah $json. Akhir sekali, kami mengeluarkan rentetan berformat JSON melalui gema.

Selepas melaksanakan kod PHP di atas, hasil output adalah seperti berikut:

{
   "name":"Tom",
   "age":25,
   "address":{
      "city":"Shanghai",
      "street":"Changning Road"
   },
   "phoneNumbers":[
      "123456789",
      "987654321"
   ]
}

Seperti yang anda lihat, kami berjaya menukar tatasusunan PHP ke dalam format JSON yang sepadan.

Perlu diambil perhatian bahawa fungsi json_encode() akan menukar tatasusunan PHP kepada rentetan JSON yang dikodkan UTF-8 secara lalai. Jika anda perlu menukarnya kepada format pengekodan lain, anda boleh menentukannya dalam parameter kedua fungsi, contohnya:

$json = json_encode($arr, JSON_UNESCAPED_UNICODE);

Dalam kod di atas, kami menukar rentetan JSON dengan menentukan parameter JSON_UNESCAPED_UNICODE Menjadi rentetan Unicode yang tidak dapat dilepaskan.

3. Kaedah untuk menukar rentetan format JSON kepada tatasusunan PHP

Selain menukar tatasusunan PHP kepada format JSON, kami juga boleh menukar rentetan JSON kepada tatasusunan PHP. Proses ini boleh dicapai melalui fungsi json_decode().

Sebagai contoh, berikut ialah contoh kod:

<?php
   $jsonStr = &#39;{
      "name":"Tom",
      "age":25,
      "address":{
         "city":"Shanghai",
         "street":"Changning Road"
      },
      "phoneNumbers":[
         "123456789",
         "987654321"
      ]
   }&#39;;

   $arr = json_decode($jsonStr, true);

   var_dump($arr);
?>

Dalam kod sampel di atas, kami mula-mula menentukan pembolehubah $jsonStr yang mengandungi rentetan format JSON, dan kemudian gunakan json_decode() Fungsi menukarnya menjadi tatasusunan PHP. Dalam parameter kedua fungsi, kami menetapkan parameter sebenar supaya hasil output akan dikembalikan dalam bentuk tatasusunan. Akhirnya, tatasusunan $arr yang ditukar adalah output melalui var_dump().

Selepas melaksanakan kod PHP di atas, hasil output adalah seperti berikut:

array(4) {
   ["name"]=>
   string(3) "Tom"
   ["age"]=>
   int(25)
   ["address"]=>
   array(2) {
      ["city"]=>
      string(8) "Shanghai"
      ["street"]=>
      string(15) "Changning Road"
   }
   ["phoneNumbers"]=>
   array(2) {
      [0]=>
      string(9) "123456789"
      [1]=>
      string(9) "987654321"
   }
}

Seperti yang anda boleh lihat daripada hasil output, kami berjaya menukar rentetan format JSON kepada tatasusunan PHP, dan setiap atribut Setiap dihuraikan ke dalam pasangan nilai kunci yang sepadan.

Perlu diambil perhatian bahawa fungsi json_decode() akan menukar rentetan JSON ke dalam bentuk objek secara lalai. Jika anda perlu menukarnya ke dalam bentuk tatasusunan, anda boleh menentukannya dalam parameter kedua fungsi:

$arr = json_decode($jsonStr, true);

4 Ringkasan

Dalam PHP, anda boleh menukar tatasusunan menjadi Format JSON dengan mudah memindahkan dan memproses data antara aplikasi yang berbeza. PHP menyediakan fungsi json_encode() untuk menukar tatasusunan ke dalam format JSON, dan fungsi json_decode() untuk menukar rentetan JSON kepada tatasusunan PHP. Kita boleh memilih mana antara fungsi ini untuk digunakan berdasarkan keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan kepada format json 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