W3docs

La Guida Completa alla Funzione array_fill di PHP

La funzione array_fill in PHP è uno strumento potente per creare array riempiti con valori a scelta. In questa guida esploriamo come usarla.

La funzione array_fill in PHP è uno strumento potente per creare array riempiti con valori a scelta. In questa guida vedremo in dettaglio come usare questa funzione e come applicarla in scenari reali.

Cos'è la Funzione array_fill in PHP?

La funzione array_fill è una funzione built-in di PHP che restituisce un nuovo array riempito con un valore specificato. È utile ogni volta che si ha bisogno di un array di dimensione nota pre-popolato con lo stesso valore predefinito — ad esempio, una griglia di zeri, un elenco di segnaposto o un buffer da sovrascrivere in seguito. Invece di scrivere un ciclo, si descrive l'array in una singola chiamata.

Sintassi

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

Accetta tre argomenti:

  • $start_index — la chiave del primo elemento. Se è 0 o positivo, l'array viene riempito con chiavi intere consecutive a partire da questo valore. A partire da PHP 8.0, anche un indice iniziale negativo produce chiavi consecutive (-2, -1, 0, …); in PHP 7 la seconda chiave in poi partiva da 0.
  • $count — il numero di elementi da creare. Deve essere 0 o maggiore. Un valore di 0 restituisce un array vuoto, mentre un conteggio negativo genera un ValueError (PHP 8) o un avviso (PHP 7).
  • $value — il valore copiato in ogni elemento. Può essere di qualsiasi tipo: una string, un numero, un boolean, un object o anche un altro array.

La funzione restituisce un nuovo array; non modifica mai uno esistente.

Come Usare la Funzione array_fill in PHP

Usare la funzione array_fill è semplice. Basta specificare l'indice iniziale, il numero di elementi e il valore con cui riempire l'array: la funzione restituirà un array con i valori indicati.

Ecco un esempio di utilizzo della funzione array_fill per creare un array di 10 elementi, a partire dall'indice 0, riempito con il valore "PHP":

Esempio PHP di utilizzo della funzione array_fill

php— editable, runs on the server

L'array risultante apparirà così:

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

Applicazioni Reali della Funzione array_fill in PHP

La funzione array_fill può essere utilizzata in una varietà di scenari reali. Ecco alcuni esempi:

Inizializzazione degli Array

Uno degli usi più comuni della funzione array_fill è l'inizializzazione di array con valori predefiniti. Ad esempio, si può usare la funzione per creare un array di valori predefiniti per un campo di un modulo.

Creazione di Array Multidimensionali

La funzione array_fill può anche essere usata per creare array multidimensionali. Ad esempio, si può usare la funzione per creare un array 2D riempito con zeri:

Utilizzo multidimensionale di array_fill in PHP

php— editable, runs on the server

Questo creerà un array 10x10 riempito con zeri.

Nota: array_fill memorizza riferimenti allo stesso array interno per ogni riga. Modificare una riga modificherà tutte le righe. Per creare righe indipendenti, usare un ciclo per generare array interni separati.

Riempimento di Array con un Singolo Valore

La funzione array_fill ripete un singolo valore su più indici. Ad esempio, si può usarla per creare un array di 10 elementi a partire dall'indice 1, tutti riempiti con il valore 5:

Esempio PHP: riempire un array con un valore ripetuto

php— editable, runs on the server

Questo creerà un array con 10 elementi, a partire dall'indice 1, riempiti con il valore 5.

Nota: Per generare un array con valori incrementali (ad esempio, i numeri da 1 a 10), usare invece la funzione built-in range(1, 10).

Funzioni Correlate

array_fill è una delle diverse funzioni PHP per costruire array senza un ciclo. A seconda delle esigenze, potrebbe essere più adatta una funzione correlata:

  • array_fill_keys() — riempie un array usando un elenco di chiavi fornite dall'utente, invece di interi consecutivi.
  • range() — costruisce un array di valori incrementali (ad esempio 1, 2, 3, …), cosa che array_fill non può fare.
  • array_pad() — estende un array esistente fino a una dimensione specificata aggiungendo un valore come padding.
  • array_map() — trasforma un array riempito (ad esempio, converte una riga di zeri in valori calcolati).
  • str_repeat() — l'equivalente per le stringhe quando si vuole un valore ripetuto come testo anziché come elementi di un array.

Conclusione

La funzione array_fill offre un modo conciso e senza cicli per creare un array di dimensione nota pre-riempito con un singolo valore. È particolarmente utile per inizializzare array con valori predefiniti, creare griglie di zeri o preparare buffer da sovrascrivere in seguito. Ricorda i suoi limiti: il conteggio non deve essere negativo, lo stesso valore viene copiato in ogni elemento e per sequenze incrementali è preferibile usare range(). Con queste regole in mente, array_fill è uno strumento pulito per la configurazione prevedibile degli array in PHP.

Esercitazione

Pratica
Cosa fa la funzione array_fill() in PHP?
Cosa fa la funzione array_fill() in PHP?
Was this page helpful?