2011-09-19 96 views
0

我有串{}中的字符串是什么意思?

$name = 'user'; 

$run->{$name}; 

,我有结果通知:

Undefined property: run::$user 

我在控制器方法的用户,但在错误我看到字符串昂$字符。

这是一些特殊的字符?

回答

0

$run->{$name}就像你写$run->user,当你想使用的变量

值来访问对象的属性,因此,如果$name = 'user';

然后$run->{$name}将努力让与name属性,这是使用“用户'

0
$name = "user"; 
$run->{$name}(); 

运行一个方法user();

0

如果你有在控制器(其中您在$run拍摄的实例)的方法,你可以使用:

$run->$name(); 
0

参考variable variables大括号需要时仅字符串的一部分是变量名和PHP会错误地解释它。在所有其他情况下,它们都是可选的,并且为了更好的可读性而放置(与()括号在表达式中使用的方式相同)。既然你指的是方法,而不是属性,你必须使用()。即使不使用变量变量也是如此:

$foo->user // access to property 
$foo->user() // method call 
相关问题