PHP-не может вызвать функцию внутри двойных кавычек


У меня есть php-код:

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

$test = new Test();

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

Но похоже, что я не могу вызвать функцию внутри строки в двойных кавычках

Как я могу это сделать ?

Спасибо

4 4

4 ответа:

Переменные можно вызывать только внутри строки

Но если вы используете {}, вы можете добавить код в блок

Попробуйте это :

    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>';
Обратите внимание, что вы можете даже передать параматер на этот вызов.