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

问题描述 投票:0回答:4

我有一个 PHP 代码:

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

$test = new Test();

//why this isn't printing bla bla bla 1????
echo "bla bla bla $test->someThing()";

但似乎我无法在双引号字符串内调用函数。

我该怎么做?

谢谢。

php string double-quotes
4个回答
21
投票

只能调用字符串内的变量

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

试试这个:

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

6
投票

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

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

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


3
投票

试试这个方法

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

$test = new Test();

echo 'bla bla bla ' . $test->someThing();

1
投票

你应该使用这个

echo "".$test->someThing()."";

或不带双引号。

echo $test->someThing();
© www.soinside.com 2019 - 2024. All rights reserved.