出于某种原因,我采用printf($var)了过度使用echo $var.我真的不知道为什么.
但是,似乎我有一个问题从变量输出一个字符串 - 如果我printf($var)改为echo $var- 90%的时间它修复了问题.
这种情况发生在我身上不止一次出现不同的错误,从过少的参数到只回显空/空字符串.
任何人都可以解释为什么printf()似乎工作效率低于echo?
简短的回答,printf($var)除非你特别需要,否则不要使用.
原因是$var传递的第一个参数被视为格式字符串,而诸如%s和%d等的东西具有特殊含义.在C/C++中,这会导致分段错误,而在PHP中,相比之下,你会在手腕上得到一记耳光.
相当于echo或print是printf('%s', $var); 它会转换$var为字符串,然后输出它.
顺便说一句,printf()是一种功能,echo而且print是语言结构; 因此,你可能会获得更好的表现echo.