Я смотрю на Webmonkey's PHP и MySql Tutorial, уроки 2 . Я думаю, что это литерал php. Что означает %s
? Он находится внутри функции print_f()
в циклах while, по меньшей мере, в первой паре блоков кода.
printf("<tr><td>%s %s</td><td>%s</td></tr>n", ...
с символами printf или sprintf, которым предшествует знак%, являются заполнители (или жетоны). Они будут заменены переменной, переданной в качестве аргумента.
Пример:
$str1 = 'best'; $str2 = 'world'; $say = sprintf('Tivie is the %s in the %s!', $str1, $str2); echo $say;
Это приведет к выводу:
Тиви – лучший в мире!
Примечание. Есть больше заполнителей (% s для строки,% d для номера деления и т. Д.).
Порядок:
Порядок, в котором вы передаете аргументы, подсчитывается. Если вы переключите $ str1 на $ str2 как
$say = sprintf('Tivie is the %s in the %s!', $str2, $str1);
он распечатает
«Тиви – мир в лучшем!»
Однако вы можете изменить порядок чтения таких аргументов:
$say = sprintf('Tivie is the %2$s in the %1$s!', $str2, $str1);
который правильно напечатает предложение.
Также имейте в виду, что PHP является динамическим языком и не требует (или поддерживает) явного определения типа. Это означает, что при необходимости жонглирует переменными типами. В спринте это означает, что если вы передадите «string» в качестве аргумента для числового заполнителя (% d), эта строка будет преобразована в число (int, float …), которое может иметь странные результаты. Вот пример:
$onevar = 2; $anothervar = 'pocket'; $say = sprintf('I have %d chocolate(s) in my %d.', $onevar, $anothervar); echo $say;
это напечатает
У меня есть 2 шоколада (ов) в моем 0.
Больше чтения на PHPdocs
В printf
%s
является заполнителем для данных, которые будут вставлены в строку. Дополнительные аргументы printf
– это значения, которые нужно вставить. Они привязаны к заполнителям позиционно: первый placeholder получает первое значение, второе – второе значение и так далее.
%s
– спецификатор типа, который будет заменен на значение ценника (строка) в случае %s
.
Кроме %s
вы можете использовать другие спецификаторы , наиболее популярными из которых являются:
d – аргумент рассматривается как целое число и представляется как (подписанное) десятичное число.
f – аргумент рассматривается как float и представлен как число с плавающей запятой (знание локали).
s – аргумент рассматривается как и представлен как строка.
$num = 5; $location = 'tree'; $format = 'There are %d monkeys in the %s'; echo sprintf($format, $num, $location);
Вывод: «В дереве есть 5 обезьян».