Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengakses Sifat Objek dengan Aksara Tidak Sah dalam PHP?
Mengakses Harta Objek dengan Nama Tidak Sah
Dalam PHP, ada kemungkinan untuk menemui objek dengan sifat yang mempunyai aksara yang menyalahi undang-undang atau tidak sah, seperti sempang (-). Walaupun pengakses harta biasa gagal, terdapat penyelesaian untuk mendapatkan semula nilai ini.
Penyelesaian 1: Notasi Kurungan
Untuk mengakses harta dengan nama yang tidak sah, gunakan notasi kurungan dengan nama harta yang disertakan dalam pendakap kerinting ({}):
$object->{'todo-items'};
Penyelesaian 2: Nama Pembolehubah dan Gabungan
Sebagai alternatif, tetapkan nama sifat kepada pembolehubah dan gabungkannya dengan $objek pembolehubah:
$todolist = 'todo-items'; echo $object->$todolist;
Contoh:
Menggunakan contoh pembuangan objek yang disediakan:
$x = (object) [ 'completed-count' => '0', 'description' => 'Description String', 'id' => '12345', 'todo-items' => (object) [ 'todo-item' => (object) [ 'completed' => 'false', 'content' => 'content string here', 'created-on' => '2009-04-16T20:33:31Z', 'creator-id' => '23423', 'id' => '234', 'position' => '1', 'responsible-party-id' => '2844499', 'responsible-party-type' => 'Person', 'todo-list-id' => '234234', ], ], ]; echo $x->{'todo-items'}[0]->{'todo-item'}->content;
Petua Tambahan:
Untuk menukar objek kepada tatasusunan, anda boleh menggunakan coretan kod yang disediakan dalam soalan dan jawapan:
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 dengan Aksara Tidak Sah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!