Вывод данных в PHP происходит с помощью команд echo и print, которые являются языковыми конструкциями (не путать с функциями). В чем разница? Во-первых echo короче на одну букву 🙂 Но это еще не всё.
Основная разница в том, что echo может передать несколько параметров через запятую, например:
echo "Раз", "Два", "Три";
Это соответствует:
print "Раз"; print "Два"; print "Три";
Т.е. запятая является аналогом еще одного echo.
print же может передать только один аргумент за раз и соответственно возвращает TRUE (1) или FALSE (0); echo же принимает список аргументов и ничего не возвращает (VOID). Кстати, именно поэтому print работает чуть медленнее, чем echo (на 0,23 %).
Можно выводить не только текст, но и функции, например:
echo strftime ("%d-%Y");
Сами же echo и print можно писать со скобками или без скобок (еще раз, это не функции).
Также можно писать echo в краткой форме:
I have <?=$foo?> foo.
Проблема
В PHP нет встроенной поддержки Unicode. В PHP 6 разработчики пытались его реализовать, но в итоге так и не получилось.
Для конвертации кодировок в PHP используется функция iconv, пример:
echo iconv(«windows-1251», «UTF-8», $name);