Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar objek ke dalam array dalam php

Bagaimana untuk menukar objek ke dalam array dalam php

PHPz
Lepaskan: 2023-04-12 14:07:03
asal
849 orang telah melayarinya

Dalam pembangunan PHP, Object dan Array selalunya digunakan sebagai jenis data Mereka masing-masing mempunyai kelebihan dan kekurangan mereka sendiri, tetapi dalam beberapa senario mereka perlu ditukar kepada satu sama lain Dalam artikel ini, kami akan memperkenalkan cara menukarnya antara satu sama lain. Objek ditukar kepada Array.

Dalam PHP, anda boleh menggunakan penukaran jenis paksa untuk menukar jenis Objek kepada jenis Array Pelaksanaan khusus adalah seperti berikut:

function objectToArray($obj){
    $arr = is_object($obj) ? get_object_vars($obj) : $obj;
    if(is_array($arr)){
        return array_map(__FUNCTION__, $arr);
    }else{
        return $arr;
    }
}
Salin selepas log masuk

Dalam kod di atas, mula-mula gunakan is_object. () fungsi untuk menentukan yang diluluskan Sama ada parameter input adalah jenis Objek, jika ya, gunakan fungsi get_object_vars() untuk mendapatkan perwakilan tatasusunan bagi atribut objek dan nilai atribut jika ia bukan jenis Objek, ia akan dikembalikan secara langsung. Seterusnya, gunakan fungsi array_map() untuk memanggil fungsi secara rekursif, menukar setiap elemen tatasusunan berbilang dimensi kepada jenis tatasusunan, dan akhirnya mengembalikan tatasusunan yang ditukar.

Sebagai contoh, kami mentakrifkan kelas Orang:

class Person{
    public $name;
    public $age;
    function __construct($name, $age){
        $this->name = $name;
        $this->age = $age;
    }
}
Salin selepas log masuk

Segera objek Orang:

$person = new Person('Tom', 18);
Salin selepas log masuk

Kemudian gunakan kaedah di atas untuk menukarnya kepada tatasusunan:

$array = objectToArray($person);
print_r($array);
Salin selepas log masuk

Hasil keluaran adalah seperti berikut:

Array
(
    [name] => Tom
    [age] => 18
)
Salin selepas log masuk

Seperti yang dapat dilihat daripada kod di atas, objek Person ditukar kepada tatasusunan dengan menggunakan fungsi objectToArray(), dan nilai setiap atribut berjaya diperolehi. Dengan cara ini, tatasusunan dalam contoh ini boleh digunakan secara langsung dalam beberapa senario di mana tatasusunan digunakan.

Dalam pembangunan harian, perlu diperhatikan bahawa terdapat beberapa perbezaan antara tatasusunan dan objek Sebagai contoh, tatasusunan boleh menggunakan fungsi dan sintaks yang berkaitan dengan tatasusunan, manakala objek boleh menggunakan kaedah dan sifat kelas. Oleh itu, semasa proses penukaran, adalah perlu untuk bertindak balas terhadap senario penggunaan dan menguasainya secara fleksibel.

Atas ialah kandungan terperinci Bagaimana untuk menukar objek ke dalam array dalam 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