PHP,Printf,Sprintf函数

Bla*_*ext 3 php printf

我正在研究printf,sprintf,我不明白几点,如果有人可以帮我理解这些点,

PHP链接的这个链接:

有解释编号从一到六:

我不明白的是:第一和第二(1(符号说明符),2(填充说明符)),如果能有一个请帮助我的例子,我会非常感激.

Har*_*dik 30

sprintf()返回一个字符串,printf()显示它.

以下两个是平等的:

printf(currentDateTime());
print sprintf(currentDateTime());
Run Code Online (Sandbox Code Playgroud)


Ale*_*sky 12

符号说明符强制使用符号,即使它是正数.所以,如果你有

$x = 10;
$y = -10;
printf("%+d", $x);
printf("%+d", $y);
Run Code Online (Sandbox Code Playgroud)

你会得到:

+10
-10
Run Code Online (Sandbox Code Playgroud)

填充说明符添加左填充,以便输出始终采用一定数量的空格,这允许您对齐一堆数字,在生成具有总计的报告时非常有用,等等.

 $x = 1;
 $y = 10;
 $z = 100;
 printf("%3d\n", $x);
 printf("%3d\n", $y);
 printf("%3d\n", $z);
Run Code Online (Sandbox Code Playgroud)

你会得到:

   1
  10
 100
Run Code Online (Sandbox Code Playgroud)

如果为填充说明符添加前缀为零,则字符串将填充为零而不是填充空格:

 $x = 1;
 $y = 10;
 $z = 100;
 printf("%03d\n", $x);
 printf("%03d\n", $y);
 printf("%03d\n", $z);
Run Code Online (Sandbox Code Playgroud)

得到:

 001
 010
 100
Run Code Online (Sandbox Code Playgroud)