PHP's serialize() and unserialize(): Mengendalikan Struktur Data Kompleks
Apabila bekerja dengan PHP, anda sering menghadapi keperluan untuk menyimpan atau menghantar struktur data yang kompleks seperti tatasusunan atau objek di luar skop pelaksanaan skrip tunggal. Di sinilah fungsi PHP bersiri() dan unserialize() dimainkan.
Memahami Pensiri
serialize() menukar struktur data yang kompleks kepada perwakilan rentetan yang boleh disimpan atau diangkut. Ia mengekalkan struktur dan data tatasusunan atau objek asal, tetapi ia menggunakan format PHP proprietari. Output serialize() ialah rentetan kompleks yang mengekodkan jenis data, pasangan nilai kunci dan sifat objek.
Contoh:
Untuk menggambarkan, pertimbangkan tatasusunan PHP berikut:
$a = array('1' => 'elem 1', '2' => 'elem 2', '3' => 'elem 3'); print_r($a); echo "<br><br>"; $b = serialize($a); print_r($b);
Output:
Array ( [1] => elem 1 [2] => elem 2 [3] => elem 3 ) a:3:{i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:" elem 3";}
Sebagaimana anda boleh lihat, output kedua ialah versi bersiri tatasusunan dalam format PHP proprietari.
Contoh Penggunaan
Senario biasa di mana serialize() dan unserialize( ) adalah berguna apabila anda perlu menghantar tatasusunan PHP ke JavaScript. Memandangkan JavaScript hanya boleh mengendalikan jenis data primitif, anda mesti menukar tatasusunan kepada rentetan JSON (format bersiri universal) menggunakan serialize(). Anda kemudiannya boleh menggunakan unserialize() untuk menukar rentetan JSON kembali kepada tatasusunan dalam PHP jika perlu.
Kesimpulan
serialize() dan unserialize() adalah PHP yang penting fungsi untuk menangani struktur data yang kompleks. Ia membenarkan kegigihan dan penghantaran struktur ini merentasi persekitaran dan teknologi yang berbeza, seperti pangkalan data dan aplikasi JavaScript.
Atas ialah kandungan terperinci Bagaimanakah Fungsi `serialize()` dan `unserialize()` PHP Boleh Mengendalikan Struktur Data Kompleks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!