我正在研究
printf
和sprintf
,有几点我不明白。有人可以帮我理解以下在 format
解释的
sprintf()
说明符吗:
可选的对齐说明符,表示结果应该左对齐还是右对齐。默认是右对齐;这里的 - 字符将使其左对齐。
一个可选数字,一个宽度说明符,表示此转换应产生多少个字符(最少)。
宽度说明符:
given: printf('|%5d|', 1);
prints: | 1|
^^^^^-- 4 spaces + 1 char = width of 5
对齐:
given: printf('|%-5d|', 1);
prints |1 |
^^^^^-- 1 char + 4 right-justified spaces = width of 5.
举个简单的例子:
<?php
$strs = "hello world";
printf("%-15s", $strs);
echo "\n";
printf("%15s", $strs);
?>
输出:
hello world
hello world
^^^^^^^^^^^^^^^
|||||||||||||||
123456789012345 (width=15)
这里15是字符串的最小打印宽度,
-
符号是为了让字符串在左边缩进