Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengakses Sifat Objek PHP dengan Nama Tidak Sah?

Bagaimanakah Saya Boleh Mengakses Sifat Objek PHP dengan Nama Tidak Sah?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-23 16:27:13979semak imbas

How Can I Access PHP Object Properties with Invalid Names?

Mengakses Sifat dengan Nama Tidak Sah

Objek PHP biasanya membenarkan akses harta melalui tatatanda titik, tetapi nama sifat tidak boleh mengandungi aksara khas seperti sempang. Walau bagaimanapun, terdapat cara untuk mengakses nama harta benda "haram" ini.

Menggunakan Pendakap Kerinting

Satu kaedah ialah menggunakan pendakap kerinting di sekeliling nama harta:

$object->{'todo-items'};

Ini akan mengembalikan sub-objek todo-item.

Menggunakan Nama Pembolehubah Dinamik

Pilihan lain ialah menggunakan nama pembolehubah dinamik untuk menyimpan nama sifat:

$propertyName = 'todo-items';
echo $object->{$propertyName};

Menukar kepada Array

Jika anda lebih suka bekerja dengan tatasusunan, anda boleh menukar objek kepada tatasusunan menggunakan fungsi pembantu seperti ini:

$array = toArray($object);
echo $array['todo-items'];

Penukaran Zend_Config

Sebagai alternatif, jika anda menggunakan Zend_Config, kaedah toArray()nya boleh menukar objek bersarang kepada tatasusunan secara rekursif untuk akses mudah :

$array = $object->toArray();
echo $array['todo-items'];

Dengan menggunakan teknik ini, anda boleh berjaya akses hartanah dengan nama yang menyalahi undang-undang dan dapatkan semula data yang dikehendaki daripada objek yang dikembalikan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Sifat Objek PHP dengan Nama Tidak Sah?. 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