printf/sprintf,使用数组参数而不是变量

2022-08-30 16:39:30

喜欢

$args = (
 'var1' => 'abc',
 'var2' => 'def',
);


$text = sprintf('first var is: %1$s, second one is: %2$s', $args);

基本上变量是动态的,我不知道它是否会有任何条目或多少个条目。$args

文本也是如此,我不知道它是否需要在其中替换变量,或者有多少。

我怎样才能创建一个这样的函数,如果存在诸如,等等的东西,它以某种方式提取元素并在文本中替换它们?%s%d%1$s


答案 1

你可能想要 vsprintf()


答案 2