sprintf - repeating arguments
I want to format a string with sprintf
but repeating many times an argument. see..
$str = "Str 1: %s - Str 2: %s - Str 2 again: %s";
Considering that string to format, I want to repeat the second arg two times.
echo sprintf($str, "I'm string 1", "My name is string 2");
And the wanted result like:
Str 1: I'm string 1 - Str 2: My name is string 2 - Str 2 again: My name is string 2
There's a way to do that??
Solution 1:
It's all in the documentation!
$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");
Note: Use single quotes for the format string otherwise you'll get PHP Notice: Undefined variable: s in /path/to/tofile:line
You can also escape the $
with a \
if you are using double quotes.