i have a php code :

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

$test = new Test();

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

but it seems like i cant call function inside a double quoted string

how can i do this ?

thanks

有帮助吗?

解决方案

you can only call variables inside a string

but if you use {} you can add code to the block

try this :

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

其他提示

You can also put a function name inside a variable and then use that variable like a real function inside double quotes string:

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

Note that you can even pass paramater to that call.

Try this way

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

$test = new Test();

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

you should use this

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

or with out double quoted.

echo $test->someThing();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top