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!