如何访问名称无效的属性?

Posted

技术标签:

【中文标题】如何访问名称无效的属性?【英文标题】:How can I access a property with an invalid name? 【发布时间】:2022-01-22 18:22:48 【问题描述】:

我正在将数据添加到将通过第 3 方 API 发送的 stdClass 对象,因此我为该对象的元素提供的名称实际上是由该外部服务定义的。

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

这一切都很好,直到我遇到一个带有invalid name的属性:

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

所以这不是有效的 php 语法,有没有办法解决这个问题?

【问题讨论】:

$insertArray[0]->'First.Name' = $firstname; 【参考方案1】:

感谢 cmets (@AbraCadaver),Complex (curly) syntax 是处理无效变量或属性名称的方法:

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

【讨论】:

以上是关于如何访问名称无效的属性?的主要内容,如果未能解决你的问题,请参考以下文章

win10 设定计划任务时提示所指定的账户名称无效,如何解决?

Qml QtQuick2'无效的属性名称“样式”(M16)' [重复]

标记 <permission> 属性名称包含无效字符“$”

QML ProgressBar 无效的属性名称“样式”

KeyConditionExpression 中的条件无效:一个条件中使用了多个属性名称

指定的包含路径无效。 EntityType 未声明名称为 * 的导航属性