0
我只是想知道是否忽略sprintf的一個參數會導致任何問題。php-sprintf非常簡單的問題
我記不住,但我認爲我的網站之一,如果我省略了錯誤的參數,但我試過它在不同的服務器上,它不會發布任何問題與所有PHP錯誤通知打開。
只是想仔細檢查!
例子:
我只是想知道是否忽略sprintf的一個參數會導致任何問題。php-sprintf非常簡單的問題
我記不住,但我認爲我的網站之一,如果我省略了錯誤的參數,但我試過它在不同的服務器上,它不會發布任何問題與所有PHP錯誤通知打開。
只是想仔細檢查!
例子:
如果傳遞的參數太少就會報錯,但太多的罰款。就像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
真棒,不記得之前我有什麼錯誤,但太少的參數聽起來像是什麼。這解決了我的問題,謝謝! – Joe 2011-02-25 20:58:21
它會浪費CPU週期,因爲sprintf仍然會解析查找格式代碼的字符串,但這不會是錯誤。另一方面,不提供所有格式字符的值將是一個錯誤。 'sprintf('這是%d十進制');'會失敗。 – 2011-02-25 20:38:31