PHP ialah bahasa pengaturcaraan yang sangat popular apabila ia datang untuk membangunkan aplikasi web. Tatasusunan PHP adalah alat yang sangat diperlukan apabila bekerja dengan data. Walau bagaimanapun, apabila kita perlu menghantar tatasusunan PHP kepada bahasa lain, atau menghantarnya melalui rangkaian, kami perlu menukar tatasusunan kepada format pengekodan. Artikel ini menerangkan cara PHP menukar tatasusunan kepada format JSON, XML dan siri.
JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan untuk pertukaran data. Ia mudah untuk membaca dan menulis dan sering digunakan untuk memindahkan data antara aplikasi web. PHP menyediakan fungsi json_encode() dan json_decode(), yang boleh menukar tatasusunan PHP ke format JSON dengan mudah, dan juga boleh menukar data format JSON kepada tatasusunan PHP.
Berikut ialah contoh kod untuk menukar tatasusunan PHP kepada format JSON:
$data = array( 'name' => 'John', 'age' => 30, 'city' => 'New York' ); $json = json_encode($data); echo $json;
Outputnya adalah seperti berikut:
{"name":"John","age":30,"city":"New York"}
Dalam contoh ini, kita mula-mula Tentukan tatasusunan PHP $data yang mengandungi tiga elemen: nama, umur dan bandar. Kemudian gunakan fungsi json_encode() untuk menukarnya kepada format JSON. Hasil keluaran ialah rentetan JSON yang mengandungi elemen tatasusunan.
Untuk menukar data berformat JSON kembali kepada tatasusunan PHP, kita boleh menggunakan fungsi json_decode(). Berikut ialah contoh kod untuk menukar data format JSON ke dalam tatasusunan PHP:
$json = '{"name":"John","age":30,"city":"New York"}'; $data = json_decode($json, true); print_r($data);
Hasil output ialah:
Array ( [name] => John [age] => 30 [city] => New York )
Dalam contoh ini, kita mentakrifkan rentetan JSON terlebih dahulu. Kemudian gunakan fungsi json_decode() untuk menukarnya kepada tatasusunan PHP dan tetapkan parameter kedua kepada benar untuk menukar format JSON kepada tatasusunan bersekutu. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan kandungan tatasusunan PHP.
XML (Bahasa Penanda Boleh Diperluas) ialah standard untuk mentakrifkan bahasa penanda anda sendiri. Ia sangat serupa dengan bahasa penanda HTML, tetapi digunakan terutamanya untuk pertukaran data, penyimpanan data dan perkhidmatan web. Sambungan SimpleXML disediakan dalam PHP, yang boleh digunakan untuk menukar tatasusunan PHP kepada format XML, dan juga boleh menukar data format XML kepada tatasusunan PHP.
Berikut ialah contoh kod untuk menukar tatasusunan PHP kepada format XML:
$data = array( 'name' => 'John', 'age' => 30, 'city' => 'New York' ); $xml = new SimpleXMLElement('<root/>'); array_walk_recursive($data, array($xml, 'addChild')); echo $xml->asXML();
Outputnya adalah seperti berikut:
<?xml version="1.0"?> <root> <name>John</name> <age>30</age> <city>New York</city> </root>
Dalam contoh ini, kita mula-mula Tentukan tatasusunan PHP $data yang mengandungi tiga elemen: nama, umur dan bandar. Kemudian gunakan kelas SimpleXMLElement untuk mencipta elemen XML bernama root. Setiap elemen dalam tatasusunan $data kemudian ditambahkan pada pepohon XML menggunakan fungsi array_walk_recursive(). Akhir sekali, gunakan fungsi asXML() untuk mengeluarkan pepohon XML ke dalam rentetan.
Untuk menukar data berformat XML kepada tatasusunan PHP, kami boleh menggunakan fungsi simplexml_load_string() atau simplexml_load_file() yang disediakan oleh sambungan SimpleXML. Berikut ialah kod sampel yang menggunakan fungsi simplexml_load_string() untuk menukar rentetan XML kepada tatasusunan PHP:
$xml = '<?xml version="1.0"?> <root> <name>John</name> <age>30</age> <city>New York</city> </root>'; $data = simplexml_load_string($xml); echo ''; print_r($data); echo '';
Hasil output ialah:
SimpleXMLElement Object ( [name] => John [age] => 30 [city] => New York )
Dalam contoh ini, kita mula-mula menentukan rentetan XML. Kemudian gunakan fungsi simplexml_load_string() untuk menukarnya kepada objek SimpleXMLElement PHP, dan akhirnya gunakan fungsi print_r() untuk mengeluarkan kandungan tatasusunan PHP.
Selain format JSON dan XML, PHP juga menyediakan cara untuk menukar tatasusunan PHP kepada rentetan, iaitu, jujukan tatasusunan berubah. Serialisasi ialah proses menukar pembolehubah PHP (jenis data primitif, tatasusunan dan objek) kepada rentetan untuk menghantar data antara program. PHP menyediakan fungsi serialize() dan unserialize(), yang boleh merealisasikan serialisasi dan deserialisasi pembolehubah PHP.
Berikut ialah contoh kod untuk mensiri tatasusunan PHP ke dalam rentetan:
$data = array( 'name' => 'John', 'age' => 30, 'city' => 'New York' ); $serialized = serialize($data); echo $serialized;
Output akan kelihatan seperti ini:
a:3:{s:4:"name";s:4:"John";s:3:"age";i:30;s:4:"city";s:8:"New York";}
Dalam contoh ini, kami Pertama, tatasusunan PHP $data yang mengandungi tiga elemen: nama, umur dan bandar ditakrifkan. Kemudian sirikannya kepada rentetan menggunakan fungsi serialize(). Hasil keluaran ialah rentetan yang mengandungi elemen tatasusunan bersiri.
Untuk menyahsiri rentetan bersiri menjadi tatasusunan PHP, kita boleh menggunakan fungsi unserialize(). Berikut ialah contoh kod untuk menyahsiri rentetan bersiri ke dalam tatasusunan PHP:
$serialized = 'a:3:{s:4:"name";s:4:"John";s:3:"age";i:30;s:4:"city";s:8:"New York";}'; $data = unserialize($serialized); print_r($data);
Hasil output ialah:
Array ( [name] => John [age] => 30 [city] => New York )
Dalam contoh ini, kita mula-mula mentakrifkan A rentetan bersiri. Kemudian gunakan fungsi unserialize() untuk menyahsirikannya menjadi tatasusunan PHP dan gunakan fungsi print_r() untuk mengeluarkan kandungan tatasusunan PHP.
Ringkasan
Dalam artikel ini, kami membincangkan cara PHP menukar tatasusunan kepada JSON, XML dan format bersiri. Format ini adalah antara format biasa yang digunakan untuk pertukaran data, menjadikannya mudah untuk memindahkan data antara platform dan bahasa yang berbeza. Adalah perlu untuk memilih format yang sesuai untuk pemprosesan data mengikut keperluan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan kepada pengekodan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!