Dalam pengaturcaraan PHP, tatasusunan dan objek ialah salah satu jenis data yang paling biasa digunakan. Kadangkala kita perlu menukar tatasusunan yang mengandungi objek kepada tatasusunan yang mengandungi hanya data asal Dalam kes ini, kita perlu mengalih keluar objek daripada tatasusunan. Artikel ini akan memperkenalkan cara mengalih keluar objek daripada tatasusunan dalam PHP.
array_map
Fungsi ialah fungsi dalam PHP yang menggunakan fungsi pada setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu. Untuk tatasusunan yang mengandungi objek, kita boleh menggunakan fungsi array_map
untuk menggunakan fungsi untuk menukar setiap objek kepada jenis data asalnya. Contohnya:
function object_to_array($obj) { return (array) $obj; } $arr = array( (object)array("name"=>"Tom","age"=>18), (object)array("name"=>"Jerry","age"=>20), ); $new_arr = array_map("object_to_array",$arr); print_r($new_arr);
Dalam kod di atas, kami mentakrifkan fungsi object_to_array
, yang akan menukar objek kepada tatasusunan. Kami kemudian menggunakan fungsi array_map
untuk menggunakan fungsi ini pada tatasusunan asal $arr
, mengembalikan tatasusunan baharu dan menyimpannya dalam pembolehubah $new_arr
. Akhir sekali, kami menggunakan fungsi print_r
untuk mengeluarkan tatasusunan yang ditukar.
Fungsi json_decode
dalam PHP boleh menukar data format JSON kepada tatasusunan atau objek PHP. Fungsi json_encode
boleh menukar tatasusunan atau objek PHP kepada data format JSON. Oleh itu, kita boleh mula-mula menggunakan fungsi json_encode
untuk menukar tatasusunan yang mengandungi objek kepada data format JSON, dan kemudian gunakan fungsi json_decode
untuk menukarnya kepada tatasusunan yang mengandungi hanya jenis data primitif. Contohnya:
$arr = array( (object)array("name"=>"Tom","age"=>18), (object)array("name"=>"Jerry","age"=>20), ); $json = json_encode($arr); $new_arr = json_decode($json,true); print_r($new_arr);
Dalam kod di atas, kami mula-mula menggunakan fungsi json_encode
untuk menukar tatasusunan $arr
ke dalam data format JSON dan menyimpannya dalam pembolehubah $json
, dan kemudian gunakan json_decode
berfungsi untuk menukarnya kepada Array dan disimpan dalam pembolehubah $new_arr
. Akhir sekali, kami menggunakan fungsi print_r
untuk mengeluarkan tatasusunan yang ditukar.
Kelas ArrayIterator
dalam PHP boleh menukar tatasusunan menjadi iterator, dan kemudian kita boleh menggunakan kaedah getArrayCopy
untuk menukarnya menjadi hanya Tatasusunan yang mengandungi jenis data primitif. Contohnya:
$arr = array( (object)array("name"=>"Tom","age"=>18), (object)array("name"=>"Jerry","age"=>20), ); $iterator = new ArrayIterator($arr); $new_arr = $iterator->getArrayCopy(); print_r($new_arr);
Dalam kod di atas, kami mencipta contoh kelas ArrayIterator
$iterator
dan menghantar tatasusunan $arr
kepadanya. Kami kemudian menggunakan kaedah getArrayCopy
untuk menukarnya kepada tatasusunan jenis data primitif dan menyimpannya dalam pembolehubah $new_arr
. Akhir sekali, kami menggunakan fungsi print_r
untuk mengeluarkan tatasusunan yang ditukar.
Ringkasnya, kita boleh menggunakan tiga kaedah di atas untuk mengalih keluar objek daripada tatasusunan dalam PHP. Dalam aplikasi tertentu, kita boleh memilih kaedah yang sesuai mengikut keperluan sebenar.
Atas ialah kandungan terperinci objek penyingkiran tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!