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

Bagaimana untuk menukar obj ke array dalam php

Apr 26, 2023 am 09:06 AM

Dalam pembangunan PHP, kita selalunya perlu menukar Object kepada Array, terutamanya apabila menggunakan rangka kerja ORM (Object Relational Mapping). Artikel ini akan memperkenalkan beberapa kaedah untuk menukar objek PHP kepada tatasusunan.

Kaedah 1: Gunakan objek untuk fungsi tatasusunan

PHP menyediakan fungsi untuk menukar objek kepada tatasusunan get_object_vars() Fungsi ini menukar sifat objek kepada pasangan nilai kunci tatasusunan dan mengembalikan Tatasusunan pasangan nilai kunci. Contoh penggunaan fungsi ini adalah seperti berikut:

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

$user = new User('Lucy', 20);
$arrayUser = get_object_vars($user);
print_r($arrayUser);
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kelas bernama Pengguna, yang mengandungi dua sifat awam $name dan $age, dan memulakan dua sifat ini dalam pembina. sifat-sifat. Kemudian objek $user dijadikan instantiated dan dihantar ke dalam fungsi get_object_vars(), yang akan mengembalikan tatasusunan $arrayUser yang terdiri daripada nama atribut dan nilai atribut.

Kaedah 2: Kaedah penukaran objek tersuai

Dalam sesetengah kes, kita mungkin perlu menyesuaikan cara objek ditukar kepada tatasusunan. Sebagai contoh, kami tidak mahu menukar semua sifat kepada tatasusunan, tetapi hanya beberapa sifat atau mewakili sifat dengan nama kunci yang berbeza. Pada masa ini, kita boleh menentukan kaedah "toArray()" dalam objek dan secara bebas menentukan kaedah penukaran. Contoh menggunakan kaedah ini adalah seperti berikut:

class Student {
    private $name;
    private $age;
    private $gender;
    public function __construct($name, $age, $gender)
    {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
    public function toArray() {
        return [
            '姓名' => $this->name,
            '年龄' => $this->age,
            '性别' => $this->gender
        ];
    }
}

$stu = new Student('Bob', 23, '男');
$arrayStu = $stu->toArray();
print_r($arrayStu);
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kelas bernama Pelajar, yang mengandungi tiga sifat peribadi $nama, $umur dan $jantina, dan dalam pembina Mulakan ini tiga sifat. Dalam kelas, kaedah awam bernama "toArray()" ditakrifkan, yang mengembalikan tatasusunan yang terdiri daripada nama atribut dan nilai atribut, dan ditukar kepada tatasusunan $arrayStu dengan nama kunci Cina.

Kaedah 3: Gunakan ciri fungsi json_decode

Dalam PHP, terdapat beberapa fungsi yang boleh menukar rentetan format JSON kepada tatasusunan. Antara fungsi ini, fungsi json_decode() adalah yang paling biasa digunakan. Bayangkan, jika kita boleh menukar objek kepada rentetan dalam format JSON, dan kemudian menggunakan fungsi json_decode() untuk menukarnya kepada tatasusunan, bukankah mungkin untuk menukar objek itu kepada tatasusunan? Contohnya adalah seperti berikut:

class Car {
    public $brand;
    public $color;
    public $price;
    public function __construct($brand, $color, $price)
    {
        $this->brand = $brand;
        $this->color = $color;
        $this->price = $price;
    }
}

$car = new Car('Benz', 'black', 400000);
$jsonCar = json_encode($car);
$arrayCar = json_decode($jsonCar, true);
print_r($arrayCar);
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kelas bernama Car, yang mengandungi tiga sifat awam $brand, $color dan $price, dan memulakan ketiga-tiga ini dalam sifat pembina. Kemudian objek $car dijadikan instantiated, ditukar kepada rentetan format JSON menggunakan fungsi json_encode() dan kemudian ditukar kepada tatasusunan menggunakan fungsi json_decode(). Akhir sekali, kami mendapat tatasusunan $arrayCar yang terdiri daripada nama atribut dan nilai atribut. Perlu diingatkan bahawa objek mestilah harta awam apabila menggunakan kaedah ini, jika tidak, ia tidak akan ditukar.

Ringkasan:

Dalam PHP, terdapat banyak cara untuk menukar objek kepada tatasusunan Kita boleh memilih kaedah yang sesuai mengikut situasi sebenar. Sudah tentu, contoh di atas hanya menunjukkan sebahagian daripadanya dan lebih banyak kaedah penukaran sedang menunggu untuk kami temui dan laksanakan. Saya berharap melalui artikel ini, pembaca dapat menguasai kaedah menukar objek kepada tatasusunan dalam PHP, dan juga mendalami pemahaman dan aplikasi PHP mereka.

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

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 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.

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.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Pengesahan Input PHP: Amalan Terbaik. Pengesahan Input PHP: Amalan Terbaik. Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

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.

See all articles