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): arrayElle prend trois arguments :
$start_index— la clé du premier élément. S'il est0ou 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 être0ou supérieur. Une valeur de0retourne un tableau vide, et un count négatif lève uneValueError(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
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
Cela créera un tableau 10x10 rempli de zéros.
Remarque :
array_fillstocke 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
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 exemple1, 2, 3, …), ce quearray_fillne 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.