


Bagaimana untuk menukar objek ke dalam array dalam php
Dalam pembangunan PHP, kita selalunya perlu menukar antara objek dan tatasusunan Senario aplikasi biasa memerlukan penukaran objek kepada tatasusunan. PHP menyediakan banyak kaedah untuk melengkapkan proses penukaran ini, kaedah yang paling biasa digunakan ialah menukar objek kepada tatasusunan melalui kastor.
Dalam PHP, apabila kita menukar objek kepada tatasusunan, nama atribut objek digunakan secara automatik sebagai nama kunci dan nilai atribut disimpan dalam tatasusunan sebagai nilai kunci. Pada masa yang sama, PHP juga boleh secara selektif menukar sifat peribadi, dilindungi dan awam sesuatu objek.
Mari kita pelajari cara menukar objek kepada tatasusunan melalui contoh:
class BlogPost { private $title; private $content; protected $publishedAt; public function __construct($title, $content) { $this->title = $title; $this->content = $content; $this->publishedAt = date('Y-m-d H:i:s'); } } $post = new BlogPost('PHP Object Convert Array', 'PHP 中对象转换数组的实现'); $array_post = (array) $post; // 将对象转换为数组 print_r($array_post);
Dalam contoh di atas, kami menentukan kelas BlogPost
, yang mempunyai tiga atribut: title
, content
dan publishedAt
. Antaranya, title
dan content
ialah atribut peribadi dan publishedAt
ialah atribut yang dilindungi. Dalam pembina kelas, kami menetapkan atribut $title
dan $content
dan menetapkan atribut $publishedAt
kepada masa semasa secara lalai.
Seterusnya, kami membuat instantiate kelas BlogPost
dan menghantarnya ke tatasusunan $array_post
. Akhir sekali, kami menggunakan fungsi print_r
untuk mencetak kandungan tatasusunan $array_post
Anda boleh melihat output seperti berikut:
Array ( [BlogPosttitle] => PHP Object Convert Array [BlogPostcontent] => PHP 中对象转换数组的实现 [*publishedAt] => 2021-09-14 15:10:34 )
Anda boleh menemuinya apabila kami menggunakan (array)
untuk penukaran jenis. , nama atribut objek Nama kelas akan ditambah sebagai awalan. Ini kerana dalam PHP, nama atribut yang sama hanya boleh muncul sekali Untuk mengelakkan konflik nama atribut, PHP secara automatik menambah nama kelas sebagai awalan. Pada masa yang sama, kita juga boleh mengakses sifat objek melalui tatasusunan Contohnya, echo $array_post['BlogPosttitle'];
boleh mengeluarkan PHP Object Convert Array
.
Perlu diingat bahawa apabila terdapat sifat persendirian dan sifat yang dilindungi dalam objek, ia tidak boleh diakses secara lalai selepas ditukar kepada tatasusunan, tetapi jika kita ingin menambahkannya pada tatasusunan, kita boleh lulus ReflectionClass
kelas untuk dilaksanakan:
class BlogPost { private $title; private $content; protected $publishedAt; public function __construct($title, $content) { $this->title = $title; $this->content = $content; $this->publishedAt = date('Y-m-d H:i:s'); } } $post = new BlogPost('PHP Object Convert Array', 'PHP 中对象转换数组的实现'); $reflection_class = new ReflectionClass($post); $properties = $reflection_class->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED | ReflectionProperty::IS_PRIVATE); // 获取所有属性 $array_post = []; foreach ($properties as $property) { $property->setAccessible(true); // 设置属性可访问 $array_post[$property->getName()] = $property->getValue($post); // 将属性及属性值添加到数组中 } print_r($array_post);
Dalam contoh di atas, kami menggunakan kelas ReflectionClass
dan ReflectionProperty
untuk mendapatkan semua sifat objek, termasuk harta awam, harta dilindungi dan harta persendirian. Kemudian tetapkan atribut boleh diakses melalui kaedah setAccessible()
, dan akhirnya tambahkan atribut dan nilai atribut pada tatasusunan Hasil output adalah seperti berikut:
Array ( [title] => PHP Object Convert Array [content] => PHP 中对象转换数组的实现 [publishedAt] => 2021-09-14 15:10:34 )
Ringkasnya, PHP menyediakan pelbagai. cara menukar objek kepada Untuk tatasusunan, cara biasa ialah menggunakan watak pelakon (array)
. Pada masa yang sama, kami juga boleh menambahkan sifat peribadi dan sifat dilindungi secara terpilih pada tatasusunan, yang boleh dicapai melalui kelas ReflectionClass
. Tidak kira kaedah yang digunakan, anda boleh menukar objek kepada tatasusunan dengan mudah untuk pemprosesan dan penghantaran data objek yang lebih baik.
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





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.

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.

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.

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.

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.

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

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.

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