Dalam PHP, kadangkala kita perlu menukar objek kepada tatasusunan. Biasanya, kita boleh mengakses atau menetapkan nilai objek melalui sifatnya. Tetapi terdapat situasi di mana anda perlu menukar objek kepada tatasusunan, seperti apabila anda perlu menukar objek kepada rentetan JSON atau menghantar sifat objek kepada kaedah.
Dalam PHP, anda boleh menggunakan taip untuk menukar objek kepada tatasusunan. Terdapat fungsi cast terbina dalam array
dalam PHP yang boleh menukar objek kepada tatasusunan.
Contoh:
class Person { public $name; public $age; public $gender; public function __construct($name, $age, $gender) { $this->name = $name; $this->age = $age; $this->gender = $gender; } } $person = new Person("Tom", 25, "male"); $personArray = (array) $person; print_r($personArray);
Analisis kod:
Dalam contoh di atas, kami mentakrifkan kelas bernama Person
, yang mempunyai tiga sifat awam: $name
, $age
dan $gender
. Kami mencipta objek Person
dan menyimpannya dalam pembolehubah $person
. Seterusnya, kami menggunakan fungsi cast array
dalam PHP untuk menukar objek $person
ke dalam tatasusunan dan menyimpannya dalam pembolehubah $personArray
. Akhir sekali, kami menggunakan fungsi print_r
untuk mencetak nilai tatasusunan $personArray
.
Apabila menjalankan kod di atas, kita akan mendapati bahawa selepas menukar objek kepada tatasusunan, sifat objek menjadi kunci tatasusunan, dan nilai sifat menjadi nilai tatasusunan. Outputnya adalah seperti berikut:
Array ( [name] => Tom [age] => 25 [gender] => male )
Seperti yang anda lihat, apabila objek dilemparkan ke tatasusunan, atribut objek menjadi kunci tatasusunan, dan nilai atribut menjadi nilai daripada tatasusunan. Ini memudahkan kita mengakses atau melepasi sifat sesuatu objek.
Adalah penting untuk ambil perhatian bahawa apabila menghantar objek ke tatasusunan, sifat peribadi atau dilindungi tidak ditukar kepada tatasusunan. Jadi, jika anda perlu memasukkan nilai semua sifat dalam tatasusunan, anda perlu menetapkannya sebagai sifat awam.
Contoh:
class Person { private $firstName; protected $lastName; public $age; public function __construct($firstName, $lastName, $age) { $this->firstName = $firstName; $this->lastName = $lastName; $this->age = $age; } } $person = new Person("Tom", "Smith", 25); $personArray = (array) $person; print_r($personArray);
Hasil output adalah seperti berikut:
Array ( [PersonfirstName] => Tom [lastName:Protected] => Smith [age] => 25 )
Seperti yang anda lihat, nama atribut persendirian telah diubah suai dalam tatasusunan , dilindungi Nama Harta ditanda. Ini kerana PHP memberi awalan pada sifat peribadi dan dilindungi semasa menghantar untuk mengelakkan konflik nama.
Selepas merumuskan contoh dan analisis di atas, kita boleh membuat kesimpulan berikut:
Di atas ialah beberapa pengetahuan asas tentang menghantar objek PHP ke tatasusunan, tetapi sebenarnya, terdapat banyak cara untuk menukar objek kepada tatasusunan dalam PHP. Oleh itu, dalam aplikasi khusus, adalah perlu untuk memilih kaedah yang paling sesuai untuk penukaran berdasarkan senario perniagaan dan keperluan khusus.
Atas ialah kandungan terperinci Bagaimana untuk memaksa menukar objek php ke array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!