在PHP 中存取具有無效名稱的屬性
在PHP 中存取具有非常規或無效名稱的屬性可能會帶來挑戰。當使用外部定義的物件時,就會出現這樣一種情況,其中屬性名稱符合第三方 API 的規範。
無效的屬性名稱問題
考慮以下程式碼:
$insertArray = array(); $insertArray[0] = new stdclass(); $insertArray[0]->Name = $name; $insertArray[0]->PhoneNumber = $phone;
此程式碼為stdClass 物件的名稱為「Name」和「PhoneNumber 」的屬性賦值在插入數組中。但是,如果外部服務定義的屬性的名稱無效,例如“First.Name”,則使用點語法(例如 $insertArray[0]->First.Name)將導致語法錯誤。
解決方案:複雜(捲曲)語法
PHP 透過複雜(捲曲)語法提供了解決方案,允許存取具有非標準名稱的屬性。不要使用點語法,而是將屬性名稱括在大括號中:
$insertArray[0]->{"First.Name"} = $firstname;
此語法允許存取具有無效名稱或字元的屬性,否則會導致語法錯誤。大括號充當分隔符,允許您完全按照外部服務的定義指定屬性名稱。
以上是如何在 PHP 中存取具有無效名稱的屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!