3 回答

TA贡献1801条经验 获得超8个赞
花括号用于显式指定变量名的结尾。例如:
echo "This square is {$square->width}00 centimeters broad.";
因此,您的案例实际上是两个特殊案例的组合。您可以使用大括号访问类变量,如下所示:
$class->{'variable_name'} // Same as $class->variable_name
$class->{'variable' . '_name'} // Dynamic values are also allowed
在您的情况下,您只是用花括号语法包围它们。
请参见PHP手册 “复杂(卷曲)语法”。

TA贡献1856条经验 获得超11个赞
但是,该语法可能有一个很大的优势,即它通常在多毛的东西领域以及您可能需要避免的事情。
它允许您在变量名中使用字符,否则不允许使用这些字符。
即:
$this->object->{"hello world\0\n"}
$this->object->{"function(){ this is a truely awful name for a variable }"}

TA贡献1796条经验 获得超7个赞
在您给出的示例中,没有任何实际区别,$this->_session->user_id应该使用IMO,因为它更清晰。
花括号语法实际上最适合的是通过为其名称构造表达式来访问成员变量,例如$this->_session->{'user_id' . $index}。
没有找到匹配的内容?试试慕课网站内搜索吧
- 3 回答
- 0 关注
- 356 浏览
添加回答
举报