Volver a la página principal
jueves 19 diciembre 2024
7

Cómo hacer un zerofill de un entero en PHP

El zerofill (relleno con ceros) en PHP es una técnica que permite formatear un número entero para que tenga un ancho específico, completando los espacios faltantes con ceros a la izquierda.

Usando la función str_pad()

En PHP, la función str_pad() es la forma más común y eficiente de realizar un zerofill. Este método permite especificar la longitud deseada del número y el carácter de relleno.

Ejemplo básico:

$numero = 42;
$longitud = 5;
$numeroConCeros = str_pad($numero, $longitud, "0", STR_PAD_LEFT);

echo $numeroConCeros; // Salida: 00042

Explicación:

  • $numero: es el número entero que se desea formatear.
  • $longitud: es el ancho total que debe tener el número final.
  • "0": es el carácter que se usará para rellenar los espacios faltantes.
  • STR_PAD_LEFT: indica que los ceros se agregarán a la izquierda.

Usando sprintf()

Otra opción es utilizar la función sprintf(), que es útil cuando trabajas con formatos más complejos.

Ejemplo con sprintf():

$numero = 42;
$longitud = 5;
$numeroConCeros = sprintf("%0{$longitud}d", $numero);

echo $numeroConCeros; // Salida: 00042

Ventajas de sprintf():

  • Permite un control más detallado sobre el formato.
  • Útil para plantillas y cadenas más complejas.

Otros ejemplos

Zerofill en un array de números:

$numeros = [1, 23, 456];
$longitud = 5;
$numerosConCeros = array_map(function($num) use ($longitud) {
    return str_pad($num, $longitud, "0", STR_PAD_LEFT);
}, $numeros);

print_r($numerosConCeros);
// Salida: Array ( [0] => 00001 [1] => 00023 [2] => 00456 )

Zerofill con valores dinámicos:

function aplicarZerofill($numero, $longitud = 5) {
    return str_pad($numero, $longitud, "0", STR_PAD_LEFT);
}

echo aplicarZerofill(7, 3); // Salida: 007

Referencia oficial

Consulta más sobre str_pad() y sprintf() en la documentación oficial de PHP.

Etiquetas:
php
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer