sprintf - repeating arguments

PhpPrintf

Php Problem Overview


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??

Php Solutions


Solution 1 - Php

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser898741View Question on Stackoverflow
Solution 1 - PhpSavagemanView Answer on Stackoverflow