Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengakses Hartanah dengan Nama Tidak Sah dalam PHP?

Bagaimana untuk Mengakses Hartanah dengan Nama Tidak Sah dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-11-14 14:04:02659semak imbas

How to Access Properties with Invalid Names in PHP?

Mengatasi Nama Harta Tidak Sah dalam PHP

Apabila bekerja dengan struktur data dinamik, anda mungkin menghadapi keperluan untuk mengakses sifat dengan nama yang tidak sah atau kompleks. Khususnya, jika data sedang diserap daripada sumber luaran, nama sifat mungkin tidak mematuhi sintaks standard PHP.

Sebagai contoh, pertimbangkan kod berikut:

$insertArray = array();
$insertArray[0] = new stdclass();
$insertArray[0]->Name = $name;
$insertArray[0]->PhoneNumber = $phone;

Ini berfungsi dengan baik untuk nama harta yang sah. Walau bagaimanapun, isu timbul apabila menemui nama yang tidak sah, seperti:

$insertArray[0]->First.Name = $firstname;

Sintaks ini tidak sah dalam PHP. Untuk mengatasi had ini, penyelesaian berikut boleh digunakan:

Sintaks Kompleks (Kerinting):

Terima kasih kepada sokongan yang diberikan oleh @AbraCadaver, penggunaan sintaks kompleks disyorkan untuk nama harta yang tidak sah:

$insertArray[0]->{"First.Name"} = $firstname;

Menggunakan pendekatan ini, sifat dengan sebarang nama, tanpa mengira kesahihannya, boleh diakses secara dinamik dalam PHP. Fleksibiliti ini amat berguna apabila berurusan dengan penyepaduan data daripada perkhidmatan luaran atau apabila bekerja dengan struktur data yang dijana secara dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Hartanah dengan Nama Tidak Sah 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