Semasa proses pembangunan PHP, kadangkala perlu menukar objek yang diwakili oleh tatasusunan kepada tatasusunan objek supaya ia boleh dimanipulasi menggunakan kaedah berorientasikan objek. Artikel ini menerangkan cara melaksanakan ciri ini.
Pertama, kami menganggap terdapat objek yang diwakili oleh tatasusunan, serupa dengan yang berikut:
$user = [ 'id' => 1, 'name' => 'Jack', 'age' => 28, ];
Objek ini mewakili pengguna dan mengandungi ID pengguna, nama dan atribut umur. Sekarang kita perlu menukarnya menjadi objek Pengguna supaya kita boleh memanipulasinya menggunakan kaedah berorientasikan objek.
Kita boleh mentakrifkan kelas Pengguna yang mengandungi ID, nama dan atribut umur, dan mentakrifkan pembina yang sepadan:
class User { public $id; public $name; public $age; public function __construct($id, $name, $age) { $this->id = $id; $this->name = $name; $this->age = $age; } }
Kemudian, kita boleh menulis fungsi yang akan menggunakan tatasusunan untuk mewakili Objek ditukar kepada objek Pengguna:
function arrayToObject($array) { $objectArray = []; foreach ($array as $item) { $user = new User($item['id'], $item['name'], $item['age']); array_push($objectArray, $user); } return $objectArray; }
Fungsi ini menerima objek yang diwakili oleh tatasusunan sebagai parameter, dan menggunakan gelung foreach untuk lelaran melalui setiap item dalam tatasusunan. Untuk setiap item, ia mencipta objek Pengguna baharu dan menambahkannya pada tatasusunan objek. Akhirnya, ia mengembalikan pelbagai objek.
Sekarang, kita boleh menggunakan fungsi ini untuk menukar objek yang diwakili sebagai tatasusunan kepada tatasusunan objek:
$users = [ [ 'id' => 1, 'name' => 'Jack', 'age' => 28, ], [ 'id' => 2, 'name' => 'John', 'age' => 32, ], [ 'id' => 3, 'name' => 'Lily', 'age' => 25, ], ]; $objectArray = arrayToObject($users);
Kod ini menukar setiap item dalam tatasusunan pengguna menjadi objek Pengguna dan simpan hasilnya dalam tatasusunan objectArray. Kini, kita boleh menggunakan kaedah berorientasikan objek untuk mengendalikan tatasusunan objek ini:
foreach($objectArray as $user) { echo $user->name . ' is ' . $user->age . ' years old.'; }
Kod ini akan berulang melalui setiap objek Pengguna dalam tatasusunan objectArray dan mengeluarkan nama dan umur setiap pengguna.
Untuk meringkaskan, menukar objek yang diwakili oleh tatasusunan kepada tatasusunan objek membolehkan kami menggunakan kaedah berorientasikan objek untuk mengendalikannya, menjadikan kod itu lebih ringkas, boleh dibaca dan boleh diselenggara. Kita boleh menukar objek yang diwakili oleh tatasusunan dengan mudah kepada tatasusunan objek dengan mentakrifkan kelas dan pembina yang sepadan, dan menulis fungsi yang menukar tatasusunan menjadi objek.
Atas ialah kandungan terperinci Bagaimana untuk menukar objek tatasusunan kepada tatasusunan objek dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!