You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何用单行代码访问对象的数字键属性?

解决PHP对象数字键属性的访问问题

嘿,这个问题我之前也碰到过!PHP里对象的属性如果是纯数字或者数字开头的字符串键,直接用->属性名的常规写法会触发语法错误,因为这类键不符合PHP标识符的命名规则(标识符必须以字母、下划线开头)。不过不用foreach也有简单的单行写法解决:

对应#1:获取值'4'

用花括号把数字键包起来就行,两种写法都有效:

echo $LObj['bonus']->{0};
// 或者用字符串形式的键
echo $LObj['bonus']->{'0'};

对应#2:获取值1

同样用花括号包裹的方式,任选一种即可:

echo $LObj['bonus']->{1};
// 或者
echo $LObj['bonus']->{'1'};

为什么#3能正常访问?

因为bonus是符合PHP标识符规则的属性名(以字母开头),所以直接用->bonus的语法完全没问题。而数字键不属于合法标识符范畴,必须通过花括号的方式告诉PHP要解析这个键名。

额外提个小技巧:如果属性名存在变量里,也可以直接用变量访问,比如:

$attr = '0';
echo $LObj['bonus']->$attr; // 同样能输出'4'

内容的提问来源于stack exchange,提问作者Ray Macz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:45:32