PHP使用字符串和数组调用类变量

时间:2018-03-30 11:36:31

标签: php variables

通常,您可以设置php变量以使用字符串调用函数。例如:

$myVariable = 'myClassVariable';
$this->$myVariable; // works!

但是,如果涉及到数组,如何传递字符串? (参见下文)

$this->someVariable['my_field']; // works
$callName = 'someVariable["my_field"]';
$this->$callName; // doesn't work

我也尝试了$callName = ${'someVariable["my_field"]'},但这也无效。

1 个答案:

答案 0 :(得分:0)

您将数组视为字符串。那永远不会奏效。 array永远不会是string,反之亦然。

这将调用函数someFunction并返回Foo

$this->someVariable['my_field'] = 'someFunction';
$this->{$this->someVariable["my_field"]}();

public function someFunction() {
    return 'Foo';
}