2

我正在研究printf并且sprintf我不明白几点。有人可以帮我理解以下format说明符吗sprintf()

  • 一个可选的对齐说明符,说明结果是左对齐还是右对齐。默认为右对齐;此处的 - 字符将使其左对齐。

  • 一个可选数字,一个宽度说明符,表示此转换应产生多少个字符(最少)。

4

2 回答 2

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.
于 2012-06-12T14:47:25.217 回答
2

我们举一个简单的例子:

<?php

$strs = "hello world";
printf("%-15s", $strs);
echo "\n";
printf("%15s", $strs);

?>

输出:

hello world    
    hello world

^^^^^^^^^^^^^^^
|||||||||||||||
123456789012345  (width=15)

这里 15 是字符串的最小打印宽度,-标志是在左边缩进字符串。

于 2012-06-12T14:50:53.907 回答