我正在研究printf
和sprintf
,我不明白几点。有人可以帮助我理解sprintf()
中解释的以下format
说明符:
可选的对齐说明符,表示结果是左对齐还是右对齐。默认是右对齐; a - 这里的字符将使其左对齐。
可选数字,宽度说明符,表示此转化应产生的字符数(最小值)。
答案 0 :(得分:7)
宽度说明符:
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.
答案 1 :(得分:2)
我们举一个简单的例子:
<?php
$strs = "hello world";
printf("%-15s", $strs);
echo "\n";
printf("%15s", $strs);
?>
<强>输出:强>
hello world
hello world
^^^^^^^^^^^^^^^
|||||||||||||||
123456789012345 (width=15)
这里15是字符串的最小打印宽度,-
符号是缩进左边的字符串。