Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar objek kepada array dalam php
PHP ialah bahasa pengaturcaraan yang sangat berguna dengan ciri berorientasikan objek yang berkuasa. Dalam PHP, kita boleh menukar objek kepada tatasusunan dengan mudah. Artikel ini akan memperkenalkan pelbagai kaedah untuk menukar objek kepada tatasusunan dalam PHP.
1. Gunakan fungsi get_object_vars()
get_object_vars() ialah fungsi terbina dalam PHP yang digunakan untuk mendapatkan semua atribut dan nilai objek tersebut dan mengembalikan tatasusunan . Format sintaks fungsi ini adalah seperti berikut:
array get_object_vars ( object $object )
di mana $objek mewakili objek yang hendak ditukar.
Kod sampel berikut menunjukkan cara menukar objek kepada tatasusunan:
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = get_object_vars($myObj); print_r($arr);
Di sini objek $myObj dicipta melalui kelas MyClass dan ditukar kepada menggunakan fungsi get_object_vars(). Tatasusunan $arr, dan akhirnya mengeluarkan tatasusunan pada konsol.
Hasilnya adalah seperti berikut:
Array ( [name] => 张三 )
Seperti yang anda lihat, disebabkan hak akses yang berbeza bagi atribut $age dan $sex, hanya $name ditukar kepada tatasusunan.
2. Gunakan penghantaran jenis (penukaran jenis)
Selain menggunakan fungsi terbina dalam, kami juga boleh menggunakan sintaks penukaran jenis dalam PHP untuk menukar objek kepada tatasusunan. Sintaks penukaran jenis melibatkan penambahan pembolehubah dengan nama jenis data yang hendak ditukar, seperti (tatasusunan), (rentetan), (int), dsb.
Dalam kod contoh berikut, kami menggunakan (tatasusunan) untuk menukar objek kepada tatasusunan:
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = (array) $myObj; print_r($arr);
Perbezaan di sini daripada contoh sebelumnya ialah apabila menukar objek $myObj kepada array , kami menggunakan sintaks penukaran jenis (array).
Jalankan kod di atas dan anda akan mendapat output yang sama seperti tatasusunan yang ditunjukkan sebelum ini.
3. Gunakan fungsi json_decode()
Selain menggunakan get_object_vars() dan taip casting, kita juga boleh menggunakan fungsi json_decode() untuk menukar objek kepada tatasusunan atau tatasusunan bersekutu.
Fungsi json_decode() boleh menukar rentetan JSON kepada tatasusunan PHP atau tatasusunan bersekutu, jadi jika kita mensirikan objek kepada rentetan JSON dan kemudian menyahsirikannya menggunakan fungsi json_decode(), kita boleh Menukar objek kepada tatasusunan atau bersekutu tatasusunan.
Kod sampel berikut menunjukkan proses ini:
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $jsonString = json_encode($myObj); $arr = json_decode($jsonString, true); print_r($arr);
Di sini kita mencipta objek $myObj melalui kelas MyClass dan menggunakan fungsi json_encode() untuk mensirikannya ke dalam aksara JSON String $jsonString . Seterusnya, kami menggunakan fungsi json_decode() untuk menyahkod rentetan menjadi tatasusunan bersekutu $arr.
Dalam fungsi json_decode(), parameter kedua ditetapkan kepada benar, yang bermaksud bahawa selepas penyahkodan, tatasusunan bersekutu dikembalikan dan bukannya objek. Jika parameter ini tidak ditetapkan, objek dikembalikan dan bukannya tatasusunan.
Jalankan kod dan anda akan mendapat output yang sama seperti contoh sebelumnya.
Ringkasan
Dalam PHP, kita boleh menukar objek kepada tatasusunan dalam pelbagai cara. Fungsi get_object_vars() boleh dengan mudah menukar semua sifat objek dan nilainya kepada tatasusunan, manakala fungsi casting dan json_decode() jenis boleh mensiri objek menjadi rentetan dan kemudian menukarnya menjadi tatasusunan melalui fungsi penukaran. Tidak kira kaedah yang digunakan, selagi anda memilih kaedah yang sesuai untuk senario semasa, anda boleh menukar objek kepada tatasusunan dengan mudah untuk memenuhi keperluan perniagaan dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menukar objek kepada array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!