sprintf - повторяющиеся аргументы - PullRequest
32 голосов
/ 06 октября 2011

Я хочу отформатировать строку с sprintf, но многократно повторяя аргумент. см ..

$str = "Str 1: %s - Str 2: %s - Str 2 again: %s";

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

echo sprintf($str, "I'm string 1", "My name is string 2");

И желаемый результат, как:

Str 1: I'm string 1 - Str 2: My name is string 2 - Str 2 again: My name is string 2

Есть способ сделать это ??

1 Ответ

66 голосов
/ 06 октября 2011

Это все в документации !

$str = 'Str 1: %1$s - Str 2: %2$s - Str 2 again: %2$s';
echo sprintf($str, "I'm string 1", "My name is string 2");

Примечание: используйте одинарные кавычки для строки формата, в противном случае вы получите Примечание PHP: Неопределенная переменная: s в /path / to / tofile: line

Вы также можете экранировать $ с \, если используете двойные кавычки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...