【问题标题】:printf/sprintf with array arguments instead of variables带有数组参数而不是变量的 printf/sprintf
【发布时间】: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警告什么的:)(这在正常情况下不应该发生)
  • 如果您指的是没有通配符但有可用变量的情况,则不应进行替换。但是如果通配符比变量多,那么这将是一个错误情况

标签: php arrays string printf


【解决方案1】:

你可能想要vsprintf()

【讨论】:

    猜你喜欢
    • 2019-10-28
    • 2010-11-06
    • 1970-01-01
    • 2012-10-30
    • 2022-01-20
    • 2021-05-30
    • 2012-08-20
    • 1970-01-01
    相关资源
    最近更新 更多