Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengakses Sifat Objek dengan Nama Haram dalam PHP?

Bagaimana untuk Mengakses Sifat Objek dengan Nama Haram dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-19 20:15:11867semak imbas

How to Access Object Properties with Illegal Names in PHP?

Mengakses Sifat Objek dengan Nama Haram dalam PHP

Dalam PHP, menemui objek dengan nama harta haram (mis., mengandungi tanda sempang) boleh menimbulkan cabaran apabila mengaksesnya. Mari kita atasi masalah ini dengan meneroka kes mendapatkan semula sifat todo-item daripada objek yang dikembalikan oleh panggilan API.

Untuk mengakses sifat todo-item, akses terus harta itu sebagai $object->todo- item akan gagal kerana watak haram dalam nama hartanah. Sebaliknya, kita boleh menggunakan kaedah berikut:

1. Sintaks Kurungan Persegi:

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

Sintaks ini melampirkan nama sifat dalam pendakap kerinting, membenarkan akses kepada sifat dengan aksara yang menyalahi undang-undang.

2. Interpolasi Pembolehubah:

Jika nama sifat disimpan dalam pembolehubah, kita boleh menggunakan interpolasi pembolehubah untuk mendapatkannya:

$todolist = 'todo-items';
echo $object->$todolist;

3. Penukaran Tatasusunan:

Untuk memudahkan lagi akses kepada harta, kita boleh menukar objek kepada tatasusunan menggunakan fungsi pembantu:

$array = toArray($object);
echo $array['todo-items'];
function toArray($object) {
    $array = [];
    foreach ($object as $key => $value) {
        if (is_object($value)) {
            $array[$key] = toArray($value);
        } else {
            $array[$key] = $value;
        }
    }
    return $array;
}

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Sifat Objek dengan Nama Haram dalam PHP?. 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