php - sprintf非常简单的问题

时间:2011-02-25 20:32:55

标签: php

我只是想知道从sprintf中省略一个参数是否会引起任何问题。

我无法回想起,但我认为在我的一个网站上,如果我省略了它错误的参数,但我在不同的服务器上尝试了它并且它没有发布所有php错误通知的任何问题上。

只想仔细检查!

示例:

sprintf('This is an example %s','test'); // outputs "This is an example test"
sprintf('This is an example','test'); // outputs "This is an example"

1 个答案:

答案 0 :(得分:1)

如果传递的参数太少会出错,但太多很好。就像PHP的其余部分一样,如果你传递了太多的参数,它们就会被忽略。

$ php -r "echo sprintf('foo %s');"
PHP Warning:  printf(): Too few arguments in Command line code on line 1
PHP Stack trace:
PHP   1. {main}() Command line code:0
PHP   2. printf() Command line code:1

Warning: printf(): Too few arguments in Command line code on line 1

Call Stack:
    0.0005     314336   1. {main}() Command line code:0
    0.0006     314408   2. printf() Command line code:1

$ php -r "printf('foo %s', 'foo', 'bar');"
foo foo