PHP 8.5.0 Alpha 1 available for testing

Voting

: one minus zero?
(Example: nine)

The Note You're Voting On

Alex R. Gibbs
12 years ago
1. A plus sign ('+') means put a '+' before positive numbers while a minus sign ('-') means left justify. The documentation incorrectly states that they are interchangeable. They produce unique results that can be combined:

<?php
echo sprintf ("|%+4d|%+4d|\n", 1, -1);
echo
sprintf ("|%-4d|%-4d|\n", 1, -1);
echo
sprintf ("|%+-4d|%+-4d|\n", 1, -1);
?>

outputs:

| +1| -1|
|1 |-1 |
|+1 |-1 |

2. Padding with a '0' is different than padding with other characters. Zeros will only be added at the front of a number, after any sign. Other characters will be added before the sign, or after the number:

<?php
echo sprintf ("|%04d|\n", -2);
echo
sprintf ("|%':4d|\n", -2);
echo
sprintf ("|%-':4d|\n", -2);

// Specifying both "-" and "0" creates a conflict with unexpected results:
echo sprintf ("|%-04d|\n", -2);

// Padding with other digits behaves like other non-zero characters:
echo sprintf ("|%-'14d|\n", -2);
echo
sprintf ("|%-'04d|\n", -2);
?>

outputs:

|-002|
|::-2|
|-2::|
|-2 |
|-211|
|-2 |

<< Back to user notes page

To Top