Rumah pembangunan bahagian belakang masalah PHP Tukar objek kepada tatasusunan dalam php

Tukar objek kepada tatasusunan dalam php

May 05, 2023 pm 10:40 PM

Dalam PHP, objek ialah jenis data kompleks yang boleh mengandungi berbilang sifat dan kaedah. Kadangkala kita perlu menukar objek kepada tatasusunan untuk operasi, seperti menyimpan objek dalam pangkalan data atau menukar objek ke dalam format JSON. Artikel ini akan menerangkan cara menukar objek kepada tatasusunan dalam PHP.

Kaedah 1: Gunakan penukaran jenis paksa

Anda boleh menggunakan penukaran jenis paksa dalam PHP untuk menukar objek kepada tatasusunan. Kaedah khusus ialah menggunakan sifat objek sebagai kunci dalam tatasusunan, nilai harta itu sebagai nilai tatasusunan, dan kemudian kembalikan tatasusunan.

Berikut ialah contoh kod yang melaksanakan fungsi menukar objek Orang kepada tatasusunan:

class Person {
    public $name;
    public $age;
    public $gender;

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

$person = new Person('John', 28, 'male');

// 使用强制类型转换将对象转换为数组
$array = (array) $person;
print_r($array); // 输出结果为:Array ( [name] => John [age] => 28 [gender] => male )
Salin selepas log masuk

Seperti yang anda lihat, dalam contoh di atas, kami menggunakan penukaran jenis cast untuk menukar Orang Objek ditukar kepada tatasusunan. Casting sangat mudah, tetapi ia mempunyai kelemahan, iaitu, ia hanya boleh menukar sifat awam objek kepada tatasusunan, tetapi tidak boleh menukar sifat peribadi atau dilindungi kepada tatasusunan.

Kaedah 2: Gunakan fungsi get_object_vars

Selain penukaran jenis paksa, PHP juga menyediakan kaedah lain untuk menukar objek kepada tatasusunan. Kaedah ini adalah menggunakan fungsi get_object_vars. Fungsi ini menerima objek sebagai parameter dan menukar semua sifat objek kepada tatasusunan dan mengembalikannya.

Berikut ialah kod sampel yang melaksanakan fungsi menukar objek Orang kepada tatasusunan:

class Person {
    public $name;
    public $age;
    public $gender;

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

$person = new Person('John', 28, 'male');

// 使用get_object_vars函数将对象转换为数组
$array = get_object_vars($person);
print_r($array); // 输出结果为:Array ( [name] => John [age] => 28 [gender] => male )
Salin selepas log masuk

Tidak seperti penukaran jenis paksa, fungsi get_object_vars boleh menukar semua atribut objek kepada tatasusunan , Termasuk harta persendirian dan harta yang dilindungi.

Kaedah 3: Gunakan fungsi json_decode dan json_encode

Selain dua kaedah di atas, kita juga boleh menukar objek kepada format JSON terlebih dahulu, dan kemudian menukar format JSON kepada tatasusunan. Kaedah ini memerlukan penggunaan fungsi json_decode dan json_encode.

Berikut ialah contoh kod yang melaksanakan fungsi menukar objek Orang kepada tatasusunan:

class Person {
    public $name;
    public $age;
    public $gender;

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

$person = new Person('John', 28, 'male');

// 将对象转换为JSON格式
$json = json_encode($person);

// 将JSON格式转换为数组
$array = json_decode($json, true);
print_r($array); // 输出结果为:Array ( [name] => John [age] => 28 [gender] => male )
Salin selepas log masuk

Dengan menggunakan fungsi json_decode dan json_encode, kita hanya boleh menukar objek itu kepada tatasusunan.

Ringkasan:

Dalam PHP, terdapat banyak cara untuk menukar objek kepada tatasusunan. Kita boleh menggunakan kaedah seperti fungsi cast, get_object_vars, json_decode dan fungsi json_encode. Kaedah yang berbeza mempunyai senario terpakai yang berbeza, dan kita boleh memilih kaedah yang sesuai mengikut keperluan sebenar. Apabila menggunakan penukaran jenis paksa, anda perlu ambil perhatian bahawa hanya atribut awam boleh ditukar kepada tatasusunan apabila menggunakan fungsi get_object_vars, anda boleh menukar semua atribut kepada tatasusunan apabila menggunakan fungsi json_decode dan json_encode, anda perlu memberi perhatian kepada JSON penukaran format.

Atas ialah kandungan terperinci Tukar objek kepada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

Artikel ini membincangkan fungsi mysqli_query () dan mysqli_fetch_assoc () dalam PHP untuk interaksi pangkalan data MySQL. Ia menerangkan peranan, perbezaan, dan memberikan contoh praktikal penggunaannya. Hujah utama memberi tumpuan kepada manfaat usin

See all articles