相关疑难解决方法(0)

带有命名参数的vsprintf或sprintf,或PHP中的简单模板解析

我正在寻找一种方法来为或使用命名参数.sprintfprintf

例:

sprintf(
  'Last time logged in was %hours hours, 
   %minutes minutes, %seconds seconds ago'
  ,$hours,$minutes, $seconds
);
Run Code Online (Sandbox Code Playgroud)

或通过vsprintf和一个关联数组.

我在这里找到了一些编码示例

function sprintfn ($format, array $args = array())
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/de/function.sprintf.php

和这里

function vnsprintf( $format, array $data)
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/de/function.vsprintf.php

人们写自己的解决方案.

但我的问题是,是否有可能有一个标准的PHP解决方案来实现这一点,还是有另一种方式,也许是由PEAR提供的简单的PHP模板,我可以通过坚持标准的PHP实现这一点?

谢谢你的帮助.

php string.format printf templates named-parameters

12
推荐指数
5
解决办法
2万
查看次数

改进了PHP的sprintf

有谁知道更好地执行的sprintf在PHP?我正在寻找像python中的字符串格式:

print "Hello %(name)s. Your %(name)s has just been created!" % { 'name' : 'world' }
# prints::: Hello world. Your world has just been created!
Run Code Online (Sandbox Code Playgroud)

这样可以避免在不需要的情况下重复相同的变量,例如:

sprintf("Hello %s. Your %s has just been created!", 'world', 'world');
# prints::: Hello world. Your world has just been created!
Run Code Online (Sandbox Code Playgroud)

我想我自己很容易构建这个,但是如果你知道我的意思,我不想重新发明轮子......但我找不到(也许是错误的搜索关键词)任何地方的任何痕迹.

如果有人可以帮忙,我很感激.

干杯,

php python printf

4
推荐指数
2
解决办法
1059
查看次数