PHP-不能在双引号内调用函数

PHP-不能在双引号内调用函数,php,string,double-quotes,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()"; 但似乎我不能在双引号字符串中调用函数 我该怎么做 谢谢您只能调用字符串中的变量 但是如果使用{},可以向块中添加代码 试试这个: echo "bla

我有一个php代码:

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

$test = new Test();

//why this isnt printing bla bla bla 1 ????
echo "bla bla bla $test->someThing()";
但似乎我不能在双引号字符串中调用函数

我该怎么做


谢谢

您只能调用字符串中的变量

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

试试这个:

    echo "bla bla bla {$test->someThing()}";
这样试试

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

$test = new Test();

echo 'bla bla bla ' . $test->someThing();
你应该用这个

echo "".$test->someThing()."";
或者不加双引号

echo $test->someThing();

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

$arr = [1,2,3];
$func_inside_var = 'implode';
echo "output: {$func_inside_var($arr)}" . '<br>';
$arr=[1,2,3];
$func_inside_var=‘内爆’;
echo“输出:{$func\u inside\u var($arr)}”
';

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

您不能,除非您使用eval(),这通常是个坏主意。你必须在字符串之外调用函数。我更新了问题,显示我需要打印一些单词+函数的返回值,字符串的其他部分在哪里?这只适用于成员变量(使用arrow
->
),全局函数不能。这很好,但实际上并没有回答问题。冬季狂欢节快乐!