W3docs

O Guia Completo da Função array_fill do PHP

A função array_fill no PHP é uma ferramenta poderosa para criar arrays preenchidos com valores à sua escolha. Neste guia, exploramos como usá-la em detalhes.

A função array_fill no PHP é uma ferramenta poderosa para criar arrays preenchidos com valores à sua escolha. Neste guia, faremos uma análise aprofundada de como usar essa função e como ela pode ser aplicada em cenários do mundo real.

O que é a Função array_fill no PHP?

A função array_fill é uma função nativa do PHP que retorna um novo array preenchido com um valor fornecido. Ela é útil sempre que você precisa de um array de tamanho conhecido pré-populado com o mesmo valor padrão — por exemplo, uma grade de zeros, uma lista de marcadores ou um buffer que será sobrescrito mais tarde. Em vez de escrever um loop, você descreve o array em uma única chamada.

Sintaxe

array_fill(int $start_index, int $count, mixed $value): array

Ela aceita três argumentos:

  • $start_index — a chave do primeiro elemento. Se for 0 ou positivo, o array é preenchido com chaves inteiras consecutivas a partir desse valor. A partir do PHP 8.0, um índice inicial negativo também preenche chaves consecutivas (-2, -1, 0, …); no PHP 7, a segunda chave em diante começava em 0.
  • $count — o número de elementos a criar. Deve ser 0 ou maior. Um valor de 0 retorna um array vazio, e um count negativo lança um ValueError (PHP 8) ou gera um aviso (PHP 7).
  • $value — o valor copiado para cada elemento. Pode ser qualquer tipo: uma string, um número, um boolean, um object ou até outro array.

A função retorna um novo array; ela nunca modifica um existente.

Como Usar a Função array_fill no PHP

Usar a função array_fill é simples. Basta especificar o índice inicial, o número de elementos e o valor com o qual deseja preencher o array, e a função retornará um array com os valores especificados.

Aqui está um exemplo de como usar a função array_fill para criar um array de 10 elementos, começando no índice 0, preenchido com o valor "PHP":

Exemplo PHP de uso da função array_fill

php— editable, runs on the server

O array resultante terá a seguinte aparência:

Array (
  [0] => PHP
  [1] => PHP
  [2] => PHP
  [3] => PHP
  [4] => PHP
  [5] => PHP
  [6] => PHP
  [7] => PHP
  [8] => PHP
  [9] => PHP
)

Aplicações Reais da Função array_fill no PHP

A função array_fill pode ser usada em uma variedade de cenários do mundo real. Aqui estão alguns exemplos:

Inicializando Arrays

Um dos usos mais comuns da função array_fill é inicializar arrays com valores padrão. Por exemplo, você pode usar a função para criar um array de valores padrão para um campo de formulário.

Criando Arrays Multidimensionais

A função array_fill também pode ser usada para criar arrays multidimensionais. Por exemplo, você pode usar a função para criar um array 2D preenchido com zeros:

Uso multidimensional do PHP da função array_fill

php— editable, runs on the server

Isso criará um array 10x10 preenchido com zeros.

Nota: array_fill armazena referências ao mesmo array interno para cada linha. Modificar uma linha modificará todas as linhas. Para criar linhas independentes, use um loop para gerar arrays internos separados.

Preenchendo Arrays com um Único Valor

A função array_fill repete um único valor em vários índices. Por exemplo, você pode usá-la para criar um array de 10 elementos começando no índice 1, todos preenchidos com o valor 5:

Exemplo PHP de preenchimento de um array com um valor repetido

php— editable, runs on the server

Isso criará um array com 10 elementos, começando no índice 1, preenchido com o valor 5.

Nota: Para gerar um array com valores incrementais (por exemplo, números de 1 a 10), use a função nativa range(1, 10).

Funções Relacionadas

array_fill é uma das várias funções PHP para construir arrays sem um loop. Dependendo do que você precisa, uma função irmã pode ser mais adequada:

  • array_fill_keys() — preenche um array usando uma lista de chaves que você fornece, em vez de inteiros consecutivos.
  • range() — constrói um array de valores incrementais (por exemplo, 1, 2, 3, …), o que array_fill não consegue fazer.
  • array_pad() — estende um array existente até um tamanho determinado preenchendo-o com um valor.
  • array_map() — transforma um array preenchido (por exemplo, transforma uma linha de zeros em valores calculados).
  • str_repeat() — o equivalente para strings quando você quer um valor repetido como texto em vez de elementos de array.

Conclusão

A função array_fill oferece uma forma concisa e sem loop de criar um array de tamanho conhecido pré-preenchido com um único valor. Ela brilha ao inicializar arrays com valores padrão, construir grades de zeros ou preparar buffers que serão sobrescritos posteriormente. Lembre-se das suas limitações: o count não pode ser negativo, o mesmo valor é copiado para cada elemento, e para sequências incrementais você deve usar range(). Com essas regras em mente, array_fill é uma ferramenta elegante para a configuração previsível de arrays em PHP.

Prática

Prática
O que a função array_fill() faz no PHP?
O que a função array_fill() faz no PHP?
Was this page helpful?