php变量{}

时间:2011-03-04 10:39:49

标签: php variables

我需要将大量变量从数据库传递给PHP类,并且无法找出正确的语法。

这是类的变量格式:

$this->SetX('X','Y',15);

我试过这些但没有工作:

$var = 'SetX';
$this->{$var} = array('foo','bar',15);
$this->{$var}('foo','bar',15);
$this->{$var} = "'foo','bar',15";

但没有工作,可以这样做吗?

好的,现在明白这是一个方法,但是方法名称和它的关联变量是动态的并存储在DB中,因此我需要动态生成这些。

3 个答案:

答案 0 :(得分:1)

这是一种方法,而不是一种属性。但是如果省略大括号,第二个版本就可以了:

$var = "SetX";
$this->$var("foo", "bar", 15);

答案 1 :(得分:0)

$这 - > SETX( 'X', 'Y',15);是一种方法,而不是一种变量。您正在调用对象的方法,而不是设置对象的变量。

从数据库循环结果并继续调用$ this-> SetX('X','Y',15);并使用数据库中的值替换X,Y和15。

答案 2 :(得分:-1)

如果您想根据变量名称调用函数,则必须使用call_user_funccall_user_func_array,如下所示:call_user_func_array(array($this, $var), array('X', 'Y', 15));