Dalam pembangunan PHP, tatasusunan ialah salah satu jenis data yang paling biasa Dalam sesetengah kes, kita mungkin perlu menukar tatasusunan biasa kepada objek tatasusunan.
Cara paling biasa untuk mencipta objek tatasusunan dalam PHP ialah menggunakan stdClass kelas standard. Kita boleh mencipta objek tatasusunan dengan membuat instantiating stdClass.
$obj = new stdClass();
Seterusnya kita akan menggunakan fungsi PHP array_map(), yang menggunakan fungsi panggil balik pada tatasusunan yang diberikan, Dan mengembalikan tatasusunan baharu yang unsur-unsurnya ialah nilai pulangan bagi setiap panggilan fungsi. Fungsi ini adalah kunci kami untuk mencapai matlamat ini.
Kod sampel adalah seperti berikut:
$arr = array( array('name' => '张三', 'age' => 23), array('name' => '李四', 'age' => 29), array('name' => '王五', 'age' => 26) ); $objArr = array_map(function($item){ $obj = new stdClass(); foreach ($item as $key => $val) { $obj->$key = $val; } return $obj; }, $arr);
Dalam kod di atas, kami mentakrifkan tatasusunan yang mengandungi tiga subtatasusunan, setiap subtatasusunan mengandungi nama dan umur. Kami menggunakan fungsi array_map() untuk menukar setiap subarray dalam tatasusunan asal kepada objek stdClass baharu dan meletakkan objek itu ke dalam tatasusunan baharu. Dalam fungsi panggil balik, kami membuat instantiate objek stdClass, menetapkan pasangan nilai kunci setiap subarray kepada tika baharu ini, dan kemudian kembalikan tika itu. Selepas memanggil fungsi array_map(), pembolehubah $objArr yang diperolehi ialah tatasusunan objek tatasusunan, dan setiap elemen ialah objek stdClass.
Setelah kami berjaya menukar tatasusunan biasa kepada tatasusunan objek tatasusunan, kami juga boleh menggunakan objek tatasusunan sama seperti tatasusunan biasa. Sebagai contoh, kita boleh lelaran ke atas objek tatasusunan dengan menggunakan gelung foreach:
foreach ($objArr as $obj) { echo 'Name: ' . $obj->name . ', Age: ' . $obj->age . '<br>'; }
Dalam kod di atas, kami menggunakan gelung foreach untuk lelaran ke atas setiap objek stdClass dalam pembolehubah $objArr, dan kemudian gunakan nama harta objek untuk Dapatkan nilai harta objek. Oleh itu, kita boleh mengakses data dalam objek tatasusunan dengan cara yang sama seperti tatasusunan biasa.
Artikel ini menerangkan cara menukar tatasusunan biasa dalam PHP kepada tatasusunan objek tatasusunan. Kami menggunakan fungsi array_map() untuk mencapai ini. Dengan menggunakan kelas stdClass untuk membuat instantiate objek tatasusunan baharu dan menetapkan pasangan nilai kunci dalam tatasusunan asal kepada contoh baharu, akhirnya kami mendapat tatasusunan objek tatasusunan. Struktur data sedemikian boleh menyusun data dengan lebih baik dan memudahkan penggunaan dalam pelbagai senario.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan kepada objek tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!