Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengakses Sifat Objek PHP dengan Nama Haram Seperti 'todo-item'?

Bagaimanakah Saya Boleh Mengakses Sifat Objek PHP dengan Nama Haram Seperti 'todo-item'?

Mary-Kate Olsen
Lepaskan: 2024-12-24 03:32:35
asal
623 orang telah melayarinya

How Can I Access PHP Object Properties with Illegal Names Like

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:

  1. 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'}
    Salin selepas log masuk
  2. Penugasan Pembolehubah:

    Tugaskan nama harta kepada pembolehubah dan aksesnya menggunakan pembolehubah dalam kurungan segi empat sama:

    $todolist = 'todo-items';
    $object->$todolist
    Salin selepas log masuk
  3. 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;
    }
    Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan