Formatear un número con ceros a la izquierda en PHP [duplicado]

Resuelto Andromeda asked hace 54 años • 11 respuestas

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?

Andromeda avatar Jan 01 '70 08:01 Andromeda
Aceptado

Usar sprintf:

sprintf('%08d', 1234567);

Alternativamente también puedes usar str_pad:

str_pad($value, 8, '0', STR_PAD_LEFT);
reko_t avatar Nov 09 '2009 09:11 reko_t

Cuando necesito 01 en lugar de 1, lo siguiente funcionó para mí:

$number = 1;
$number = str_pad($number, 2, '0', STR_PAD_LEFT);
Md. Shafiqur Rahman avatar Apr 23 '2016 08:04 Md. Shafiqur Rahman

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

Kaze no Koe avatar Nov 09 '2009 09:11 Kaze no Koe
echo str_pad("1234567", 8, '0', STR_PAD_LEFT);
joan16v avatar Oct 16 '2014 08:10 joan16v

Aunque no estoy muy seguro de lo que quieres hacer, probablemente estés buscando sprintf .

Esto sería:

$value = sprintf( '%08d', 1234567 );
Huppie avatar Nov 09 '2009 09:11 Huppie