我正在研究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 是字符串的最小打印宽度,-
标志是在左边缩进字符串。