Я попытался напечатать простую переменную, объединенную с вызовом функции, и вот что я получил!
<?php
$hello = "Hello ";
function test(){
echo "This is a function!! ";
}
echo $hello.test();
?>
Здесь echo печатает переменную hello, конкатенированную при вызове функции, так что должен сделать вывод Hello This is a function!!
вместо вывода This is a function!! Hello
,
test () — это пустая функция (она ничего не возвращает), поэтому нет строки для эха, чтобы немедленно повторить эхо, и приоритет вызова функции выше, чем точка, поэтому он будет оценен первым и сделает свой собственный эхо, прежде чем вернуться к выполнению Строка присоединения.
return «Это функция !!»;
.. будет работать с вашим исходным форматом точка-точка (как уже отмечали другие).
В качестве альтернативы, изменив линию эха на:
echo $ hello, test ();
.. тоже работает.
$ hello является строкой и получает эхо, ~ затем ~ test () оценивается.
Других решений пока нет …