Reputation: 1538
I am studying about printf
and sprintf
and I don't understand a few points. Can someone please help me understand the following format
specifiers explained at sprintf()
:
An optional alignment specifier that says if the result should be left-justified or right-justified. The default is right-justified; a - character here will make it left-justified.
An optional number, a width specifier that says how many characters (minimum) this conversion should result in.
Upvotes: 2
Views: 675
Reputation: 250921
Let's take a simple example:
<?php
$strs = "hello world";
printf("%-15s", $strs);
echo "\n";
printf("%15s", $strs);
?>
output:
hello world
hello world
^^^^^^^^^^^^^^^
|||||||||||||||
123456789012345 (width=15)
Here 15 is the minimum printed width of the string, and the -
sign is to indent the string on the left.
Upvotes: 2
Reputation: 360602
width specifier:
given: printf('|%5d|', 1);
prints: | 1|
^^^^^-- 4 spaces + 1 char = width of 5
alignment:
given: printf('|%-5d|', 1);
prints |1 |
^^^^^-- 1 char + 4 right-justified spaces = width of 5.
Upvotes: 7