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-23 09:22:20
asal
739 orang telah melayarinya

Dalam pembangunan PHP, kita selalunya perlu menukar objek kepada tatasusunan untuk memudahkan manipulasi dan pemprosesan data. Artikel ini akan memperkenalkan cara menukar objek kepada tatasusunan.

1. Gunakan penukaran jenis

Dalam PHP, kita boleh menggunakan penukaran jenis untuk menukar objek kepada tatasusunan, dan menggunakan fungsi objek-ke-tatasusunan "get_object_vars()" untuk mendapatkan tatasusunan semua atribut objek. Kami kemudiannya boleh menggunakan penukaran jenis untuk menukar perwakilan tatasusunan ini kepada tatasusunan standard.

Sebagai contoh, kami mempunyai objek Orang, yang mempunyai dua sifat: "nama" dan "umur":

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person();
Salin selepas log masuk

Kami boleh menggunakan kod PHP berikut untuk menukar objek Orang menjadi tatasusunan:

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

Hasil output ialah:

Array
(
    [name] => 张三
    [*age] => 20
)
Salin selepas log masuk

Perlu diambil perhatian bahawa apabila menggunakan kaedah penukaran jenis untuk menukar objek, sifat peribadi tidak akan ditukar. Oleh itu, dalam output di atas, kita melihat bahawa "umur" harta persendirian ditukar kepada "*umur".

2. Gunakan pengekodan JSON

Fungsi "json_encode()" PHP boleh menukar objek kepada perwakilan format JSON, dan kemudian kita boleh menggunakan fungsi "json_decode()" untuk menukarnya menjadi tatasusunan. Kaedah ini lebih fleksibel daripada penukaran jenis dan boleh menukar sifat peribadi.

Sebagai contoh, kami menggunakan objek Orang yang sama seperti contoh di atas untuk menunjukkan kaedah ini:

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person(); 
$arrPerson = json_decode(json_encode($person), true); 
print_r($arrPerson);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [name] => 张三
    [age] => 20
)
Salin selepas log masuk
Salin selepas log masuk

3 . Penukaran manual

Selain daripada dua kaedah di atas, anda juga boleh menukar objek secara manual kepada tatasusunan. Kelebihan kaedah ini ialah anda boleh mengawal sepenuhnya proses penukaran dan menyesuaikan nilai utama tatasusunan yang dikembalikan.

Sebagai contoh, kita boleh menambah kaedah "toArray()" pada objek Person untuk ditukar secara manual:

class Person {
    public $name = '张三';
    private $age = 20;

    public function toArray()
    {
        return [
            'name' => $this->name,
            'age' => $this->age
        ];
    }
}

$person = new Person();
$arrPerson = $person->toArray();
print_r($arrPerson);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [name] => 张三
    [age] => 20
)
Salin selepas log masuk
Salin selepas log masuk

Secara manual Dengan kaedah penukaran, kami bukan sahaja mempunyai kawalan penuh ke atas proses penukaran, tetapi juga boleh menyesuaikan nilai utama tatasusunan yang dikembalikan. Dengan cara ini, kita boleh menukar objek kepada tatasusunan dengan mudah untuk memanipulasi dan memproses data.

Ringkasan

Artikel ini memperkenalkan tiga kaedah tentang cara menukar objek kepada tatasusunan: menggunakan penukaran jenis, menggunakan pengekodan JSON dan penukaran manual. Antaranya, menggunakan penukaran jenis dan pengekodan JSON adalah kaedah yang agak mudah dan biasa, manakala penukaran manual lebih fleksibel dan boleh menyesuaikan nilai utama tatasusunan yang dikembalikan. Dalam proses pembangunan sebenar, kita boleh memilih kaedah yang sesuai untuk penukaran objek mengikut keperluan tertentu.

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