Pap*_*eud 14 php field stdclass
我正在研究这个PHP代码协作,似乎有些人会像这样访问PHP StdClass字段
$body->head
Run Code Online (Sandbox Code Playgroud)
和其他人一样
$body->{'head'}
Run Code Online (Sandbox Code Playgroud)
据我所知,这些是等价的.是吗?使用哪个是否重要?你更喜欢哪种方式?有什么怪癖要注意吗?
mar*_*rio 21
它们是等价的.如果您想使用可恶的属性名称,则只需要第二个版本:
$data->{'what * the ! thing'}
Run Code Online (Sandbox Code Playgroud)
如果将纯数据数组转换为对象,有时会发生这种情况.
但是还有双引号版本,当你真正需要变量属性名称(基本上是对象的变量变量)时会更有意义:
$data->{"attr$index"}
Run Code Online (Sandbox Code Playgroud)