W3docs

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): array

Acepta tres argumentos:

  • $start_index — la clave del primer elemento. Si es 0 o 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 desde 0.
  • $count — el número de elementos que se crearán. Debe ser 0 o mayor. Un valor de 0 devuelve un array vacío, y un conteo negativo lanza un ValueError (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

php— editable, runs on the server

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

php— editable, runs on the server

Esto creará un array de 10x10 relleno de ceros.

Nota: array_fill almacena 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

php— editable, runs on the server

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 que array_fill no 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.

Práctica

Práctica
¿Qué hace la función array_fill() en PHP?
¿Qué hace la función array_fill() en PHP?
Was this page helpful?