Dalam aplikasi PHP kita berurusan dengan data dalam pelbagai format seperti rentetan, tatasusunan, objek, dll... Dalam aplikasi masa nyata kita mungkin perlu membaca tatasusunan hasil objek PHP dalam bentuk bersekutu untuk Mendapatkan output yang diingini.
Jadi di sini kita akan membincangkan cara menukar objek php kepada tatasusunan bersekutu dalam PHP.
Mari kami terangkan apakah objek dan tatasusunan bersekutu dalam PHP? Objek ialah contoh kelas, yang bermaksud anda boleh mencipta banyak objek daripada kelas. Ia hanyalah contoh kelas dengan memori yang diperuntukkan. Sebaliknya, tatasusunan yang terdiri daripada rentetan sebagai indeks dipanggil tatasusunan bersekutu. Ia mengandungi pasangan nilai kunci, di mana nilai dikaitkan dengan kunci masing-masing.
Sekarang mari kita bincangkan pelbagai cara untuk menukar objek kepada tatasusunan.
Pada mulanya fungsi json_encode() mengembalikan rentetan yang dikodkan JSON bagi nilai yang diberikan. Fungsi json_decode() menukarkannya kepada tatasusunan PHP.
firstname = $firstname; $this->lastname = $lastname; } } $myObj = new student("Alex", "Stokes"); echo "Before conversion:".''; var_dump($myObj); $myArray = json_decode(json_encode($myObj), true); echo "After conversion:".''; var_dump($myArray); ?>
Before conversion: object(student)#1 (2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" } After conversion: array(2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
Di sini kami telah mencipta Pelajar kelas dan mengisytiharkan fungsi __construct() dalam kelas yang dilaksanakan apabila objek dicipta. Pembina menerima parameter yang kemudiannya disediakan apabila mencipta objek menggunakan kata kunci baharu. Dalam ungkapan var_dump() pertama kita mencetak objek, tetapi dalam kes kedua kita menukar objek menjadi tatasusunan dengan bantuan teknik json_decode dan json_encode.
Penukaran jenis ialah kaedah menggunakan satu pembolehubah jenis data ke dalam jenis data yang berbeza, ia hanyalah penukaran tepat jenis data.
item1 = $item1; $this->item2 =$item2; $this->item3 = $item3; } } $myBag = new bag("Books", "Ball", "Pens"); echo "Before conversion :".''; var_dump($myBag); $myBagArray = (array)$myBag; echo "After conversion :".''; var_dump($myBagArray); ?>
Before conversion : object(bag)#1 (3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" } After conversion: array(3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
Di sini, kami telah mencipta kelas yang dipanggil "beg" dan di dalam kelas ini, kami telah mengisytiharkan fungsi __construct() yang dilaksanakan apabila objek dicipta. Pembina menerima parameter, yang disediakan semasa membuat objek menggunakan kata kunci baharu. Dalam ungkapan var_dump() pertama kita hanya mencetak objek, tetapi dalam kes kedua kita menggunakan prosedur pembayang jenis untuk menghantar objek ke tatasusunan.
Atas ialah kandungan terperinci Tukar objek kepada tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!