Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengakses Sifat Objek PHP dengan Nama Haram Seperti 'todo-item'?
Mengakses Sifat dengan Nama Haram dalam PHP
Dalam PHP, mengakses sifat objek dengan nama yang tidak sah, seperti yang mengandungi tanda sempang (-), boleh mencabar. Pertimbangkan senario berikut:
Masalah:
Anda telah mendapatkan semula objek daripada panggilan API, dan walaupun var_dumpnya mendedahkan kehadiran sifat "todo-item" , anda tidak dapat mengaksesnya secara langsung menggunakan $object->todo-item.
Penyelesaian:
Terdapat beberapa kaedah untuk mengakses sifat tersebut:
Pengkapsulan Nama Harta:
PHP membolehkan anda merangkum nama harta benda dalam pendakap kerinting untuk mengaksesnya secara langsung. Ini berfungsi walaupun untuk nama yang menyalahi undang-undang:
$object->{'todo-items'}
Penugasan Pembolehubah:
Tugaskan nama harta kepada pembolehubah dan aksesnya menggunakan pembolehubah dalam kurungan segi empat sama:
$todolist = 'todo-items'; $object->$todolist
Susunatur Penukaran:
Tukar objek kepada tatasusunan menggunakan teknik seperti yang digunakan oleh Zend_Config:
public function toArray() { $array = array(); foreach ($this->_data as $key => $value) { if ($value instanceof StdClass) { $array[$key] = $value->toArray(); } else { $array[$key] = $value; } } return $array; }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Sifat Objek PHP dengan Nama Haram Seperti 'todo-item'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!