PHP 语法 $obj->{'somekey'}

我遇到了这个代码


$user = new stdClass();

$user->{'approved'} = 'No';

我搜索了 PHP 文档和谷歌,但无法回答为什么会使用这种语法而不是:


$user = new stdClass();

$user->approved = 'No';


噜噜哒
浏览 159回答 2
2回答

不负相思意

我使用它的原因是因为我的 IDE (PhpStorm) 不知道该实例具有哪些属性,并且在使用时$user->approved将其标记为未定义的属性$user->{'approved'}。当从外部源(例如 API 调用)加载数据时,尤其会发生这种情况。除此之外,我会说这是开发人员偏好的问题。

慕神8447489

这种类型的代码是为了以后的修改,在第一次开发的时候放在这里临时/静态值。$user = new stdClass();$user->{'approved'} = 'No';语法{'value'}用于动态属性元素,您可以像这样使用它$dynamicVal = 'approved';$user->{$dynamicVal} = 'No';
打开App,查看更多内容
随时随地看视频慕课网APP