sprintf - 重复参数

时间:2011-10-06 12:10:10

标签: php printf

我想用sprintf格式化一个字符串,但重复多次参数。见..

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

考虑到要格式化的字符串,我想重复第二次arg两次。

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 个答案:

答案 0 :(得分:63)

全部都在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");

注意:使用单引号作为格式字符串,否则你将获得 PHP注意:未定义的变量:s in / path / to / tofile:line

如果您使用双引号,也可以使用$转义\