在PHP中,printf()不如echo可靠吗?

Xhy*_*ynk 3 php printf echo

出于某种原因,我采用printf($var)了过度使用echo $var.我真的不知道为什么.

但是,似乎我有一个问题从变量输出一个字符串 - 如果我printf($var)改为echo $var- 90%的时间它修复了问题.

这种情况发生在我身上不止一次出现不同的错误,从过少的参数到只回显空/空字符串.

任何人都可以解释为什么printf()似乎工作效率低于echo

Ja͢*_*͢ck 6

简短的回答,printf($var)除非你特别需要,否则不要使用.

原因是$var传递的第一个参数被视为格式字符串,而诸如%s%d等的东西具有特殊含义.在C/C++中,这会导致分段错误,而在PHP中,相比之下,你会在手腕上得到一记耳光.

相当于echoprintprintf('%s', $var); 它会转换$var为字符串,然后输出它.

顺便说一句,printf()是一种功能,echo而且print是语言结构; 因此,你可能会获得更好的表现echo.