什么是PHP中使用的printf?

Bre*_*son 4 php printf

我何时会在PHP中使用printf而不是echo,为什么?我只是不明白为什么理解这一点很重要.谢谢!

mea*_*gar 11

它的使用方式与在C中使用的方式相同,将格式化的值替换为格式字符串.

sprintf手册页上有数百个使用它的例子.

您可以实现一些有用的变量格式(零填充,对齐,宽度等),这需要echo伴随多个函数调用.

例如,要将字符串右对齐并将其填充为10个字符,但如果长度超过10个字符则截断:

 printf('[%010.10s]', $string);
Run Code Online (Sandbox Code Playgroud)

VS

 $tmp = '';

 if (strlen($string) > 10)
   $tmp = substr($string, 0, 10);
 else
   $tmp = str_pad($x, 10, '0', STR_PAD_LEFT);

 echo $tmp;
Run Code Online (Sandbox Code Playgroud)

您可以轻松地以八进制,十六进制或二进制格式化数字,而不会通过函数运行它们,将结果存储在临时变量中并将其传递通过echo.printf功能族有许多更多用途.