Formatear un número con ceros a la izquierda en PHP [duplicado]
Tengo una variable que contiene el valor 1234567
.
Me gustaría que contuviera exactamente 8 dígitos, es decir 01234567
.
¿Existe una función PHP para eso?
Aceptado
Usar sprintf
:
sprintf('%08d', 1234567);
Alternativamente también puedes usar str_pad
:
str_pad($value, 8, '0', STR_PAD_LEFT);
Cuando necesito 01 en lugar de 1, lo siguiente funcionó para mí:
$number = 1;
$number = str_pad($number, 2, '0', STR_PAD_LEFT);
Dado que el valor está en $value:
Para repetirlo:
printf("%08d", $value);
Para conseguirlo:
$formatted_value = sprintf("%08d", $value);
Eso debería hacer el truco
echo str_pad("1234567", 8, '0', STR_PAD_LEFT);
Aunque no estoy muy seguro de lo que quieres hacer, probablemente estés buscando sprintf .
Esto sería:
$value = sprintf( '%08d', 1234567 );