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

objek penyingkiran tatasusunan php

PHPz
Lepaskan: 2023-05-07 17:15:10
asal
571 orang telah melayarinya

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan