Sprintf - повторяющиеся аргументы
Я хочу форматировать строку с 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
Все это в документации!
$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: переменная Undefined: s в /path/to/tofile: строка
Вы также можете избежать $
с помощью \
, если вы используете двойные кавычки.