La guía definitiva de la función array_fill de PHP
La función array_fill de PHP es una herramienta eficaz para crear arrays rellenos con el valor que elijas. Aprende a usarla con ejemplos prácticos.
La función array_fill de PHP es una herramienta eficaz para crear arrays rellenos con los valores que elijas. En esta guía profundizaremos en cómo utilizar esta función y cómo aplicarla en escenarios del mundo real.
¿Qué es la función array_fill en PHP?
La función array_fill es una función integrada de PHP que devuelve un nuevo array relleno con un valor determinado. Es útil cuando necesitas un array de tamaño conocido, previamente poblado con el mismo valor predeterminado — por ejemplo, una cuadrícula de ceros, una lista de marcadores de posición o un búfer que sobrescribirás más adelante. En lugar de escribir un bucle, describes el array en una sola llamada.
Sintaxis
array_fill(int $start_index, int $count, mixed $value): arrayAcepta tres argumentos:
$start_index— la clave del primer elemento. Si es0o positivo, el array se rellena con claves enteras consecutivas a partir de ese valor. A partir de PHP 8.0, un índice de inicio negativo también genera claves consecutivas (-2,-1,0, …); en PHP 7, la segunda clave en adelante comenzaba desde0.$count— el número de elementos que se crearán. Debe ser0o mayor. Un valor de0devuelve un array vacío, y un conteo negativo lanza unValueError(PHP 8) o genera una advertencia (PHP 7).$value— el valor que se copia en cada elemento. Puede ser de cualquier tipo: un string, un número, un boolean, un object o incluso otro array.
La función devuelve un nuevo array; nunca modifica uno existente.
Cómo usar la función array_fill en PHP
Usar la función array_fill es sencillo. Simplemente especifica el índice de inicio, el número de elementos y el valor con el que deseas rellenar el array, y la función devolverá un array con los valores indicados.
A continuación se muestra un ejemplo de cómo usar la función array_fill para crear un array de 10 elementos, comenzando en el índice 0, relleno con el valor "PHP":
Ejemplo PHP del uso de la función array_fill
El array resultante tendrá el siguiente aspecto:
Array (
[0] => PHP
[1] => PHP
[2] => PHP
[3] => PHP
[4] => PHP
[5] => PHP
[6] => PHP
[7] => PHP
[8] => PHP
[9] => PHP
)Aplicaciones prácticas de la función array_fill en PHP
La función array_fill puede utilizarse en una gran variedad de escenarios del mundo real. A continuación se presentan algunos ejemplos:
Inicialización de arrays
Uno de los usos más comunes de la función array_fill es inicializar arrays con valores predeterminados. Por ejemplo, podrías usar la función para crear un array de valores por defecto para un campo de formulario.
Creación de arrays multidimensionales
La función array_fill también puede usarse para crear arrays multidimensionales. Por ejemplo, podrías usarla para crear un array 2D relleno de ceros:
Uso multidimensional de la función array_fill en PHP
Esto creará un array de 10x10 relleno de ceros.
Nota:
array_fillalmacena referencias al mismo array interior en cada fila. Modificar una fila modificará todas las filas. Para crear filas independientes, usa un bucle que genere arrays interiores separados.
Rellenar arrays con un único valor
La función array_fill repite un único valor en múltiples índices. Por ejemplo, podrías usarla para crear un array de 10 elementos comenzando en el índice 1, todos rellenos con el valor 5:
Ejemplo PHP para rellenar un array con un valor repetido
Esto creará un array con 10 elementos, comenzando en el índice 1, relleno con el valor 5.
Nota: Para generar un array con valores incrementales (por ejemplo, los números del 1 al 10), usa la función integrada
range(1, 10).
Funciones relacionadas
array_fill es una de las varias funciones de PHP para construir arrays sin un bucle. Dependiendo de lo que necesites, puede que una función hermana se adapte mejor:
array_fill_keys()— rellena un array usando una lista de claves que tú proporcionas, en lugar de enteros consecutivos.range()— construye un array de valores incrementales (por ejemplo,1, 2, 3, …), algo quearray_fillno puede hacer.array_pad()— extiende un array existente hasta un tamaño determinado rellenándolo con un valor.array_map()— transforma un array relleno (por ejemplo, convierte una fila de ceros en valores calculados).str_repeat()— el equivalente para strings cuando deseas un valor repetido como texto en lugar de como elementos de un array.
Conclusión
La función array_fill te ofrece una forma concisa y sin bucles de crear un array de tamaño conocido, prerrellenado con un único valor. Resulta especialmente útil al inicializar arrays con valores predeterminados, construir cuadrículas de ceros o preparar búferes que sobrescribirás más adelante. Recuerda sus limitaciones: el conteo no debe ser negativo, el mismo valor se copia en cada elemento, y para secuencias incrementales deberías usar range(). Con estas reglas en mente, array_fill es una herramienta limpia para configurar arrays de forma predecible en PHP.