我遇到了这个代码$user = new stdClass();$user->{'approved'} = 'No';我搜索了 PHP 文档和谷歌,但无法回答为什么会使用这种语法而不是:$user = new stdClass();$user->approved = 'No';
2 回答
不负相思意
TA贡献1777条经验 获得超10个赞
我使用它的原因是因为我的 IDE (PhpStorm) 不知道该实例具有哪些属性,并且在使用时$user->approved
将其标记为未定义的属性$user->{'approved'}
。当从外部源(例如 API 调用)加载数据时,尤其会发生这种情况。
除此之外,我会说这是开发人员偏好的问题。
慕神8447489
TA贡献1780条经验 获得超1个赞
这种类型的代码是为了以后的修改,在第一次开发的时候放在这里临时/静态值。
$user = new stdClass();
$user->{'approved'} = 'No';
语法{'value'}用于动态属性元素,您可以像这样使用它
$dynamicVal = 'approved';
$user->{$dynamicVal} = 'No';
- 2 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消