Есть ли польза включить length specifier в строку формата для sprintf
или printf
даже если он не упоминается in the PHP manual:Sprintf спецификатор в PHP
h
- аргумент трактуется как короткий INT или беззнаковое короткое int (применяется только к спецификаторам целого числа:i
,d
,o
,u
,x
иX
).l
- Аргумент интерпретируется как длинное Int или без знака для длительного Int целочисленных спецификаторов (i
,d
,o
,u
,x
иX
), а также широкий символ или строку широких символов для спецификаторовc
иs
.L
- Аргумент интерпретируется как длинный двойной (применяется только к плавающей запятой спецификаторов:e
,E
,f
,g
иG
).
Или лучше оставить его? Я предполагаю, что я пытаюсь понять, почему php решил оставить это.
Рассмотрим следующий код, который приходит от phpriot.com:
$a = 0.5;
$b = 0.1;
$c = 16;
echo sprintf('%01.2lf %.1lf 0x%x', $a, $b, $c); # 0.50 0.1 0x10
Благодарим вас за отличное объяснение. –