PHP - 无法在双引号内调用函数

The*_*est 6 php string double-quotes

我有一个PHP代码:

class Test {
    function someThing(){ return 1}
}

$test = new Test();

//why this isnt printing bla bla bla 1 ????
echo "bla bla bla $test->someThing()";
Run Code Online (Sandbox Code Playgroud)

但似乎我不能在双引号字符串内调用函数

我怎样才能做到这一点 ?

谢谢

Nim*_*007 10

你只能在字符串中调用变量

但如果您使用{},则可以向块添加代码

试试这个 :

    echo "bla bla bla {$test->someThing()}";
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于成员变量(带有箭头“->”),而全局函数则无效。 (4认同)

小智 5

您还可以将函数名称放入变量中,然后像双引号字符串中的实际函数一样使用该变量:

$arr = [1,2,3];
$func_inside_var = 'implode';
echo "output: {$func_inside_var($arr)}" . '<br>';
Run Code Online (Sandbox Code Playgroud)

请注意,您甚至可以将参数传递给该调用。