Rumah >pembangunan bahagian belakang >masalah PHP >objek penyingkiran tatasusunan php

objek penyingkiran tatasusunan php

PHPz
PHPzasal
2023-05-07 17:15:10561semak imbas

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.

  1. Menggunakan fungsi array_map

array_mapFungsi 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.

  1. Gunakan fungsi json_decode dan json_encode

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.

  1. Menggunakan Iterator

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php keluarkan kunci dari arrayArtikel seterusnya:php keluarkan kunci dari array