Dalam PHP, kita selalunya perlu menukar objek kepada tatasusunan untuk memproses atau menghantar dalam aplikasi yang berbeza. Menukar objek kepada tatasusunan boleh membantu kami memanipulasi data dan melaksanakan pemprosesan data dengan lebih mudah. Artikel ini akan memperkenalkan kaedah dan teknik untuk menukar objek PHP kepada tatasusunan.
1. Kaedah menukar objek kepada tatasusunan
Dalam PHP, objek boleh ditukar kepada tatasusunan melalui penukaran jenis atau menggunakan fungsi terbina dalam.
Dalam PHP, kita boleh menggunakan jenis notasi penukaran untuk menukar objek kepada tatasusunan. Berikut ialah objek yang perlu ditukar:
class Person { public $name = 'Tom'; public $age = 30; } $person = new Person;
Menggunakan cast, kita boleh menukar objek di atas menjadi tatasusunan:
$array = (array) $person;
Struktur tatasusunan yang terhasil adalah seperti berikut:
Array ( [name] => Tom [age] => 30 )
Dalam PHP, kita boleh menggunakan fungsi terbina dalam get_object_vars()
untuk menukar objek kepada tatasusunan bersekutu. Fungsi ini mengembalikan tatasusunan bersekutu yang terdiri daripada nama harta objek dan nilai harta, dengan nama harta sebagai kunci dan nilai harta sebagai nilai.
Berikut ialah contoh penggunaan fungsi get_object_vars()
untuk menukar objek kepada tatasusunan:
class Person { public $name = 'Tom'; public $age = 30; } $person = new Person; $array = get_object_vars($person);
Struktur tatasusunan yang terhasil adalah seperti berikut:
Array ( [name] => Tom [age] => 30 )
2. Tukar objek kepada Petua untuk tatasusunan
Apabila menukar objek kepada tatasusunan, kita perlu memberi perhatian kepada perkara berikut:
Jika objek Atribut adalah peribadi, dan nilai atribut tidak boleh diperoleh menggunakan fungsi get_object_vars()
. Ini kerana sifat peribadi tidak boleh diakses di luar objek. Jika kita ingin mendapatkan nilai harta persendirian, kita perlu menggunakan kaedah ajaib objek __get()
.
Apabila objek ditukar kepada tatasusunan, kaedah objek tidak boleh ditukar. Jika anda perlu menukar fungsi kepada tatasusunan, anda boleh menggunakan fungsi terbina dalam PHP get_class_methods()
untuk mendapatkan semua kaedah objek dan menukar fungsi itu kepada tatasusunan melalui lintasan gelung.
Apabila menukar objek kepada tatasusunan, pembolehubah angka dan Boolean dalam sifat objek akan dihantar ke integer dan boolean.
Berikut ialah contoh:
class Person { public $name = 'Tom'; public $age = 30; public $isMale = true; } $person = new Person; $array = (array) $person;
Struktur tatasusunan yang terhasil adalah seperti berikut:
Array ( [name] => Tom [age] => 30 [isMale] => 1 )
Jika terdapat objek lain dalam sifat objek, kita juga boleh menukarnya secara rekursif kepada tatasusunan. Berikut ialah contoh:
class Address { public $street = '123 Main St'; } class Person { public $name = 'Tom'; public $age = 30; public $address; function __construct() { $this->address = new Address; } } $person = new Person; $array = (array) $person;
Struktur tatasusunan yang terhasil adalah seperti berikut:
Array ( [name] => Tom [age] => 30 [address] => Array ( [street] => 123 Main St ) )
Ringkasan
Dalam PHP, kita boleh menghantar atau menggunakan fungsi terbina dalam get_object_vars()
Tukar objek kepada tatasusunan. Terdapat beberapa teknik yang perlu diberi perhatian semasa proses penukaran Contohnya, sifat persendirian perlu diperolehi melalui kaedah ajaib __get()
, nombor dan pembolehubah Boolean akan dipaksa untuk ditukar kepada integer dan jenis Boolean, dan penukaran rekursif boleh dilakukan apabila terdapat objek lain dalam atribut objek. Menguasai kaedah dan teknik menukar objek kepada tatasusunan boleh membantu kami melaksanakan operasi dan pemprosesan data dengan lebih mudah.
Atas ialah kandungan terperinci Bagaimana untuk menukar objek php ke dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!