W3docs

Le guide complet de la fonction array_fill en PHP

Découvrez comment utiliser la fonction array_fill en PHP pour créer des tableaux préremplis avec une valeur de votre choix, avec des exemples concrets.

La fonction array_fill en PHP est un outil puissant pour créer des tableaux remplis avec les valeurs de votre choix. Dans ce guide, nous allons explorer en détail comment utiliser cette fonction et comment l'appliquer dans des scénarios réels.

Qu'est-ce que la fonction array_fill en PHP ?

La fonction array_fill est une fonction PHP intégrée qui retourne un nouveau tableau rempli avec une valeur donnée. Elle est utile chaque fois que vous avez besoin d'un tableau de taille connue pré-rempli avec la même valeur par défaut — par exemple, une grille de zéros, une liste d'espaces réservés, ou un tampon que vous écraserez plus tard. Plutôt qu'écrire une boucle, vous décrivez le tableau en un seul appel.

Syntaxe

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

Elle prend trois arguments :

  • $start_index — la clé du premier élément. S'il est 0 ou positif, le tableau est rempli avec des clés entières consécutives à partir de cette valeur. À partir de PHP 8.0, un index de départ négatif remplit également des clés consécutives (-2, -1, 0, …) ; dans PHP 7, la deuxième clé et les suivantes commençaient à 0.
  • $count — le nombre d'éléments à créer. Il doit être 0 ou supérieur. Une valeur de 0 retourne un tableau vide, et un count négatif lève une ValueError (PHP 8) ou émet un avertissement (PHP 7).
  • $value — la valeur copiée dans chaque élément. Elle peut être de n'importe quel type : un string, un nombre, un boolean, un object, ou même un autre array.

La fonction retourne un nouveau tableau ; elle ne modifie jamais un tableau existant.

Comment utiliser la fonction array_fill en PHP

L'utilisation de la fonction array_fill est simple. Spécifiez simplement l'index de départ, le nombre d'éléments et la valeur avec laquelle vous souhaitez remplir le tableau, et la fonction retournera un tableau avec les valeurs spécifiées.

Voici un exemple d'utilisation de la fonction array_fill pour créer un tableau de 10 éléments, à partir de l'index 0, rempli avec la valeur "PHP" :

Exemple PHP d'utilisation de la fonction array_fill

php— editable, runs on the server

Le tableau résultant ressemblera à ceci :

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

Applications concrètes de la fonction array_fill en PHP

La fonction array_fill peut être utilisée dans de nombreux scénarios réels. Voici quelques exemples :

Initialisation de tableaux

L'un des usages les plus courants de la fonction array_fill est d'initialiser des tableaux avec des valeurs par défaut. Par exemple, vous pourriez utiliser la fonction pour créer un tableau de valeurs par défaut pour un champ de formulaire.

Création de tableaux multidimensionnels

La fonction array_fill peut également être utilisée pour créer des tableaux multidimensionnels. Par exemple, vous pourriez utiliser la fonction pour créer un tableau 2D rempli de zéros :

Utilisation multidimensionnelle de la fonction array_fill en PHP

php— editable, runs on the server

Cela créera un tableau 10x10 rempli de zéros.

Remarque : array_fill stocke des références au même array interne pour chaque ligne. Modifier une ligne modifiera toutes les lignes. Pour créer des lignes indépendantes, utilisez une boucle pour générer des tableaux internes séparés.

Remplissage de tableaux avec une seule valeur

La fonction array_fill répète une seule valeur sur plusieurs indices. Par exemple, vous pourriez l'utiliser pour créer un tableau de 10 éléments à partir de l'index 1, tous remplis avec la valeur 5 :

Exemple PHP pour remplir un tableau avec une valeur répétée

php— editable, runs on the server

Cela créera un tableau de 10 éléments, à partir de l'index 1, rempli avec la valeur 5.

Remarque : Pour générer un tableau avec des valeurs incrémentales (par exemple, les nombres de 1 à 10), utilisez plutôt la fonction intégrée range(1, 10).

Fonctions associées

array_fill est l'une des nombreuses fonctions PHP permettant de construire des tableaux sans boucle. Selon vos besoins, une fonction sœur peut mieux convenir :

  • array_fill_keys() — remplit un tableau en utilisant une liste de clés que vous fournissez, au lieu d'entiers consécutifs.
  • range() — construit un tableau de valeurs incrémentales (par exemple 1, 2, 3, …), ce que array_fill ne peut pas faire.
  • array_pad() — étend un tableau existant à une taille donnée en le complétant avec une valeur.
  • array_map() — transforme un tableau rempli (par exemple, convertit une ligne de zéros en valeurs calculées).
  • str_repeat() — l'équivalent pour les strings lorsque vous souhaitez une valeur répétée sous forme de texte plutôt qu'en éléments de tableau.

Conclusion

La fonction array_fill vous offre un moyen concis et sans boucle de créer un tableau de taille connue pré-rempli avec une seule valeur. Elle excelle pour initialiser des tableaux avec des valeurs par défaut, construire des grilles de zéros, ou préparer des tampons que vous écraserez plus tard. Retenez ses limites : le count ne doit pas être négatif, la même valeur est copiée dans chaque élément, et pour des séquences incrémentales vous devriez utiliser range() à la place. Avec ces règles en tête, array_fill est un outil propre pour la mise en place prévisible de tableaux en PHP.

Pratique

Pratique
Que fait la fonction array_fill() en PHP ?
Que fait la fonction array_fill() en PHP ?
Was this page helpful?