Dalam PHP, Object dan Array ialah dua jenis data yang berbeza. Walau bagaimanapun, dalam pembangunan sebenar, kita biasanya perlu menukar objek kepada tatasusunan untuk memudahkan pemprosesan dan pemindahan data. Artikel ini akan memperkenalkan cara menukar tatasusunan objek (Array Objek) dalam PHP kepada tatasusunan asas (Array Asas).
1. Apakah tatasusunan objek dan tatasusunan asas
Dalam PHP, objek (Objek) biasanya dibuat instantiated daripada kelas (Kelas), dan ia mempunyai sifat (Property) dan kaedahnya sendiri (Kaedah), yang boleh melakukan pelbagai operasi dan pemprosesan. Array ialah struktur data yang boleh menyimpan berbilang nilai dan boleh diakses dan diproses menggunakan pasangan nilai kunci.
Susun Objek ialah tatasusunan yang terdiri daripada berbilang objek. Sebagai contoh, kita boleh mentakrifkan berbilang objek pelajar dan menyimpannya dalam tatasusunan:
class Student { public $name; public $age; } $stu1 = new Student; $stu1->name = "Tom"; $stu1->age = 18; $stu2 = new Student; $stu2->name = "Jerry"; $stu2->age = 19; $students = array($stu1, $stu2);
Tasusunan Asas ialah tatasusunan yang terdiri daripada nilai atau rentetan ringkas. Sebagai contoh, kita boleh mentakrifkan tatasusunan yang terdiri daripada berbilang nombor:
$numbers = array(1, 2, 3, 4, 5);
2. Kaedah penukaran tatasusunan objek
Dalam PHP, kita boleh menggunakan pelbagai kaedah untuk menukar tatasusunan objek kepada tatasusunan Asas , dua kaedah yang biasa digunakan diperkenalkan di bawah.
Dalam PHP, kita boleh menggunakan penghantaran jenis untuk menukar tatasusunan objek kepada tatasusunan asas. Kaedah pelaksanaan khusus adalah seperti berikut:
$basicArray = (array) $objectArray;
Contohnya, untuk menukar tatasusunan objek pelajar di atas kepada tatasusunan asas, ia boleh dilaksanakan seperti berikut:
$basicStudents = (array) $students;
Pada masa ini, $basicStudents ialah tatasusunan asas, dan kandungannya adalah seperti berikut :
Array( [0] => Student Object ( [name] => Tom [age] => 18 ) [1] => Student Object ( [name] => Jerry [age] => 19 ) )
Perlu diambil perhatian bahawa kerana dalam penukaran jenis paksa, nama atribut objek akan dipaksa kepada nama kunci, jadi dalam asas yang ditukar tatasusunan, nama kunci ialah nama atribut objek.
Dalam PHP, kita juga boleh menggunakan kaedah objek untuk menukar tatasusunan objek kepada tatasusunan asas. Kaedah pelaksanaan khusus adalah seperti berikut:
$basicArray = $objectArray->toArray();
Antaranya, toArray() ialah kaedah penukaran yang ditakrifkan oleh objek. Sebagai contoh, mentakrifkan kaedah penukaran untuk tatasusunan objek pelajar di atas dan menukarnya boleh dilaksanakan seperti ini:
class Student { public $name; public $age; public function toArray() { return array( 'name' => $this->name, 'age' => $this->age ); } } $stu1 = new Student; $stu1->name = "Tom"; $stu1->age = 18; $stu2 = new Student; $stu2->name = "Jerry"; $stu2->age = 19; $students = array($stu1, $stu2); $basicStudents = array(); foreach ($students as $student) { $basicStudents[] = $student->toArray(); }
Pada masa ini, $basicStudents ialah tatasusunan asas dan kandungannya adalah seperti berikut:
Array( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jerry [age] => 19 ) )
Disebabkan kaedah toArray() menukar sifat objek kepada pasangan nilai kunci, jadi dalam tatasusunan asas yang ditukar, nama kunci ialah nama sifat objek.
3. Ringkasan
Dalam PHP, kita boleh menggunakan kaedah cast atau objek untuk menukar tatasusunan objek kepada tatasusunan asas. Bergantung pada keperluan sebenar dan kerumitan pelaksanaan kod, kaedah penukaran yang sepadan boleh dipilih. Perlu diingatkan bahawa dalam tatasusunan asas yang ditukar, takrif nama kunci dan nilai kunci berkaitan dengan takrifan sifat objek, jadi pelaksanaan kaedah penukaran perlu dipertimbangkan dengan teliti.
Atas ialah kandungan terperinci php tatasusunan objek ke tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!