Вы близки, вы можете вставлять переменные в строки, но не вызовы функций.
Я использую printf()
(и sprintf()
) для этого, который является тонкой оболочкой для функции C с тем же именем:
printf('My favorite color is %sish -- at least for now.', strtolower( $color ));
Видишь, что %s
там? Это заполнитель для строкового типа данных, который вы передаете в качестве второго аргумента.
sprintf()
работает так же, но возвращает отформатированную строку вместо ее печати.
Единственные другие опции:
A. Сначала выполняется вызов функции и присваивается конечный результат переменной:
$color = strtolower( $color );
print("My favorite color is {$color}ish -- at least for now.");
B. Использование конкатенации, что немного уродливо ИМО:
print('My favorite color is ' . strtolower( $color ) . 'ish -- at least for now.');
Возможно, вы заметили, что я использовал одинарные и двойные кавычки.
В PHP литералы внутри двойных кавычек анализируются для переменных, как вы видите в «A» выше.
Литералы внутри одинарных кавычек не анализируются. Из-за этого они быстрее. Вы должны, как правило, использовать двойные кавычки только вокруг литералов, когда есть переменная для анализа.