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 

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

Solutions Collecting From Web of "sprintf – повторяющиеся аргументы"

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

 $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: строка

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