【发布时间】:2011-11-12 12:12:43
【问题描述】:
喜欢
$args = (
'var1' => 'abc',
'var2' => 'def',
);
$text = sprintf('first var is: %1$s, second one is: %2$s', $args);
基本上$args这个变量是动态的,我不知道它是否会有任何条目或者有多少。
文本也是,我不知道它是否需要替换其中的变量,或者是多少。
如果存在 %s %d、%1$s 等内容,我如何制作这样的函数,以某种方式提取元素并在文本中替换它们?
【问题讨论】:
-
如果格式说明符中的通配符数量与数组中的元素数量不同,那么会发生什么?
-
抛出一个php警告什么的:)(这在正常情况下不应该发生)
-
如果您指的是没有通配符但有可用变量的情况,则不应进行替换。但是如果通配符比变量多,那么这将是一个错误情况