2011-09-19 97 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 
相關問題