在 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中文网其他相关文章!