2
使用sprintf()
如何用一个值替换字符串中的多个占位符?我通常知道每个占位符都会传递1个变量,但我知道如果使用格式%1$s
而不是%s
,您可以传递一个值,但我似乎无法使其工作。php sprintf用一个值替换多个占位符
实际上,我用这个作为parametrised SQL查询,但为了方便这里有一个简单的例子
$name = "Bill";
$string = "hello ?, your name is ? ";
$string = sprintf(str_replace("?","'%1$s'",$string),$name);
这似乎并没有工作。我也想让它适用于单个占位符,例如
$name = "Bill";
$string = "hello ?";
$string = sprintf(str_replace("?","'%1$s'",$string),$name);
- 是否有可能从一个值取代多个占位符,并2.可在单个语句写入处理单个或多个占位符?
注意:我没有专门讨论使用vsprintf()
来传递数组,因为只有1个值。似乎毫无意义地多次传递相同的值。
谢谢
超级,它总是很简单!谢谢 – leejmurphy 2012-03-16 20:36:03