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

Bagaimana untuk menukar objek php menjadi array

PHPz
PHPzasal
2023-05-24 19:52:35698semak imbas

Dalam PHP, objek boleh dimanipulasi dengan mudah, tetapi kadangkala ia perlu untuk menukar objek kepada tatasusunan atau memproses sifat dan kaedah objek dalam bentuk tatasusunan. Artikel ini akan memperkenalkan secara terperinci cara menukar objek PHP kepada tatasusunan.

Secara umumnya, terdapat dua cara untuk menukar objek kepada tatasusunan: satu ialah menggunakan kaedah terbina dalam objek untuk menukar dan satu lagi ialah menukar melalui kaedah tersuai.

Kaedah 1: Gunakan kaedah terbina dalam objek

PHP menyediakan dua kaedah terbina dalam untuk menukar objek kepada tatasusunan: get_object_vars() dan json_decode(). Fungsi get_object_vars() mengembalikan tatasusunan bersekutu yang mengandungi semua sifat yang boleh dilihat Fungsi json_decode() boleh menukar rentetan berformat JSON kepada tatasusunan atau objek.

Kod sampel:

class Person {
    public $name;
    public $age;

    public function __construct(string $name, int $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

$person = new Person('John', 25);

// 使用get_object_vars()方法
$person_array1 = get_object_vars($person);
print_r($person_array1);

// 使用json_decode()方法
$person_json = json_encode($person);    // 将对象转换为JSON字符串
$person_array2 = json_decode($person_json, true);
print_r($person_array2);

Hasil keluaran:

Array
(
    [name] => John
    [age] => 25
)
Array
(
    [name] => John
    [age] => 25
)

Seperti yang anda lihat, kedua-dua kaedah boleh menukar objek kepada tatasusunan dengan mudah.

Kaedah 2: Tukar melalui kaedah tersuai

Selain menggunakan kaedah terbina dalam, kami juga boleh menukar objek kepada tatasusunan melalui kaedah tersuai. Pendekatan ini biasanya digunakan apabila berbilang sifat perlu ditukar atau pemprosesan tambahan sifat diperlukan.

Kod sampel:

class Person {
    public $name;
    public $age;

    public function __construct(string $name, int $age) {
        $this->name = $name;
        $this->age = $age;
    }

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

$person = new Person('John', 25);

// 使用自定义方法
$person_array = $person->toArray();
print_r($person_array);

Hasil keluaran:

Array
(
    [name] => JOHN
    [age] => 25
)

Seperti yang anda lihat, mudah untuk menukar objek kepada tatasusunan melalui kaedah tersuai dan melakukan pemprosesan tambahan pada atribut .

Ringkasan

Artikel ini memperkenalkan dua kaedah untuk menukar objek PHP kepada tatasusunan. Untuk objek mudah, hanya gunakan kaedah terbina dalam untuk situasi yang memerlukan pemprosesan tambahan, anda boleh menggunakan kaedah tersuai. Tidak kira kaedah yang digunakan, ia sangat mudah dan praktikal, dan objek boleh ditukar dengan mudah menjadi tatasusunan untuk operasi selanjutnya.

Atas ialah kandungan terperinci Bagaimana untuk menukar objek php menjadi array. 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