我想知道在使用$this
调用函数时是否可以使用变量。它看起来与this question不同,因为它不需要将类用作变量。此处没有提供建议的答案。
有时候说$x == 1
,有时说$x == 2
。你能做到吗?
if($x == 1)
$var = 'name_1';
if($x == 2)
$var = 'name_2';
$this->$var->a_function_here();
而不是:
if($x = 1)
$this->name_1->a_function_here();
if($x = 2)
$this->name_2->a_function_here();
答案 0 :(得分:1)
是的,你可以。
只需使用$this->{$var}->your_function();
修改强> “博士论文”适合那些想要了解更多的人。
对可能有相同问题的其他用户的“完整”答案。
有时最好使用带有函数名称的变量来使系统更具动态性。你可以用床垫做到这一点。
也可以使用大括号来清楚地界定属性名称。当访问包含数组的属性中的值,属性名称由多个部分组成时,或者属性名称包含其他方式无效的字符时,它们最有用