我想用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
有办法吗?
答案 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
如果您使用双引号,也可以使用$
转义\
。