Mengakses Sifat dengan Nama Tidak Sah dalam PHP
Mengakses sifat dengan nama tidak konvensional atau tidak sah boleh menimbulkan cabaran dalam PHP. Satu senario sedemikian timbul apabila bekerja dengan objek yang ditakrifkan secara luaran, di mana nama sifat mematuhi spesifikasi API pihak ketiga.
Isu Nama Harta Tidak Sah
Pertimbangkan kod berikut :
$insertArray = array(); $insertArray[0] = new stdclass(); $insertArray[0]->Name = $name; $insertArray[0]->PhoneNumber = $phone;
Kod ini memberikan nilai kepada sifat yang dinamakan "Nama" dan "Nombor Telefon" objek stdClass dalam insertArray. Walau bagaimanapun, jika perkhidmatan luaran mentakrifkan sifat dengan nama yang tidak sah, seperti "First.Name", menggunakan sintaks titik (cth., $insertArray[0]->First.Name) akan mengakibatkan ralat sintaks.
Penyelesaian: Sintaks Kompleks (Kerinting)
PHP menyediakan penyelesaian melalui sintaks kompleks (keriting), yang membolehkan mengakses sifat dengan nama bukan standard. Daripada menggunakan sintaks titik, sertakan nama sifat dalam pendakap kerinting:
$insertArray[0]->{"First.Name"} = $firstname;
Sintaks ini membolehkan akses kepada sifat dengan nama atau aksara tidak sah yang sebaliknya akan menyebabkan ralat sintaks. Pendakap kerinting bertindak sebagai pembatas, membolehkan anda menentukan nama sifat tepat seperti yang ditakrifkan oleh perkhidmatan luaran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Hartanah dengan Nama Tidak Sah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!