Включение функций и выражений в строки

Задача
Вставить результаты выполнения функции или выражения в строку.

Решение
Когда значение, которое необходимо вставить в строку, не может быть в нее включено, следует применять оператор конкатенации строк (.):

print 'You have '.($_REQUEST['boys'] + $_REQUEST['girls']).' children.';
print "The word '$word' is ".strlen($word).' characters long.';
print 'You owe '.$amounts['payment'].' immediately';
print "My circle's diameter is ".$circle->getDiameter().' inches.';


Обсуждение
Можно поместить переменные, свойства объекта и элементы массива (если индекс не в кавычках) непосредственно в строку в двойных кавычках:

print "I have $children children.";
print "You owe $amounts[payment] immediately.";
print "My circle's diameter is $circle->diameter inches.";


Точно так же непосредственная вставка или конкатенация строк работает во встроенном документе. Вставка с помощью конкатенации строк во встроенном документе может выглядеть немного странно, поскольку ограничитель встроенного документа и оператор конкатенации должны располагаться в разных строках:

print <<< END
Right now, the time is 
END
. strftime('%c') . <<< END
but tomorrow it will be 
END
. strftime('%c',time() + 86400);


Кроме того, если вы производите вставку во встроенный документ, не забудьте добавить пробелы так, чтобы вся строка выглядела правильно. В предыдущем примере строка «Right now the time» должна включать замыкающий пробел, а строка «but tomorrow it will be» должна включать пробелы в начале и в конце.
Теги:
Включение функций
Добавлено: 12 Июля 2018 20:06:10 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...