Для чего используется printf в PHP? - PullRequest
4 голосов
/ 12 ноября 2010

Когда бы я использовал printf вместо echo в PHP и почему?Я просто не понимаю, почему это важно понимать.Спасибо!

Ответы [ 4 ]

11 голосов
/ 12 ноября 2010

Используется так же, как и в C, для замены отформатированных значений в строку формата.

Существуют буквально сотни примеров его использования на sprintf странице справочника .

Вы можете добиться некоторого полезного форматирования переменных (заполнение нулями, выравнивание, ширина и т. Д.), Для которого потребуется echo, сопровождаемый несколькими вызовами функций.

Например, чтобы выровнять по правому краю и заполнить нулями строку до 10 символов, но обрезать, если длиннее 10 символов:

 printf('[%010.10s]', $string);

против

 $tmp = '';

 if (strlen($string) > 10)
   $tmp = substr($string, 0, 10);
 else
   $tmp = str_pad($x, 10, '0', STR_PAD_LEFT);

 echo $tmp;

Вы можете легко форматировать числа в восьмеричном, шестнадцатеричном или двоичном формате, не беспокоясь о том, что они будут проходить через функцию, сохраняя результат во временной переменной и передавая его через echo. Существует множество способов использования семейства функций printf.

4 голосов
/ 12 ноября 2010

printf позволяет передавать параметры, чтобы вы могли сделать это:

printf("My name is %s and my favorite color is %s", $name, $color);

или вы можете использовать эхо, которое делает то же самое, но не так чисто:

echo "My name is $name and my favorite color is $color"

Это именно то, что вы предпочитаете.

2 голосов
/ 12 ноября 2010

printf() позволяет форматировать переменные определенным образом. Например, вы можете быть уверены, что то, что вставлено в %d, всегда отображается как число. Вы можете отображать числа с плавающей запятой с определенным количеством цифр после запятой. Вы можете отображать цифры в научных обозначениях. Вы можете конвертировать числа в восьмеричные / шестнадцатеричные.

Если вы хотите выполнить что-либо из вышеперечисленного с использованием echo, вам нужно вызвать ту или иную функцию, прежде чем помещать эти переменные в строку в двойных кавычках. Знание того, как использовать printf(), упрощает вашу работу.

И это становится еще более мощным, когда вы можете получить вывод, используя sprintf().

2 голосов
/ 12 ноября 2010
  1. printf - вывод форматированной строки: http://us2.php.net/manual/en/function.printf.php
  2. echo - вывод одной или нескольких строк: http://us2.php.net/manual/en/function.echo.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...