Dans la programmation PHP, nous rencontrons souvent des fonctions de fonctionnement du tableau. array_fill () et array_fill_keys () sont deux fonctions très courantes qui sont utilisées pour remplir les tableaux. Cependant, de nombreux développeurs novices confondent souvent ces deux fonctions. Ils ont des fonctions similaires mais des différences essentielles. Aujourd'hui, nous explorerons les différences entre ces deux fonctions et analyserons comment les utiliser correctement dans le développement réel.
array_fill ()
array_fill () est utilisé pour remplir un tableau de gammes spécifiées, et tous les éléments ont la même valeur. L'utilisation de base est la suivante:
array_fill(int $start_index, int $num, mixed $value): array
$ start_index : remplit l'indice de départ du tableau.
$ num : le nombre d'éléments à remplir.
$ Value : la valeur de chaque élément dans le tableau.
Par exemple, nous pouvons créer un tableau de longueur 5, avec la valeur de chaque élément de 100 :
$array = array_fill(0, 5, 100);
print_r($array);
Sortir:
Array
(
[0] => 100
[1] => 100
[2] => 100
[3] => 100
[4] => 100
)
array_fill_keys () doit remplir un tableau basé sur la touche donnée, qui définit la même valeur pour chaque clé spécifiée. L'utilisation de base est la suivante:
array_fill_keys(array $keys, mixed $value): array
$ touches : un tableau contenant des clés.
$ Value : la valeur correspondant à la clé donnée.
Par exemple, supposons que nous ayons un tableau de noms de clés et une valeur à remplir:
$keys = ['a', 'b', 'c'];
$array = array_fill_keys($keys, 100);
print_r($array);
Sortir:
Array
(
[a] => 100
[b] => 100
[c] => 100
)
Étant donné que ces deux fonctions semblent très similaires, de nombreux débutants sont enclins à les confondre. Le point commun, ils sont tous qu'ils peuvent être utilisés pour remplir les tableaux et vous permettent tous deux de définir une valeur unifiée. La différence est que Array_Fill () remplit des éléments en fonction de l'index du tableau, tandis que Array_Fill_keys () remplit des valeurs en fonction du nom de clé donné.
array_fill () remplit le tableau en fonction de la plage d'index du tableau. Il nécessite un index de départ et le nombre d'éléments à remplir, renvoyant un tableau avec des indices continus.
array_fill_keys () remplit le nouveau tableau en fonction d'un tableau de clé donné. Chaque clé correspond à la même valeur et le nom de clé du tableau renvoyé est personnalisé.
Par conséquent, la différence la plus fondamentale est que l'une consiste à remplir par indice, et l'autre est de remplir par nom de clé.
Choisissez d'utiliser ces deux fonctions en fonction des différents besoins:
Lorsque vous devez remplir un tableau avec des index continus, utilisez Array_Fill () . Par exemple, vous pouvez utiliser un tableau lors de l'initialisation d'un index pour remplir un certain nombre d'éléments.
Exemple:
$array = array_fill(0, 3, 'PHP');
Lorsque vous devez remplir un tableau en fonction d'un nom de clé personnalisé, utilisez array_fill_keys () . Cette situation est souvent utilisée pour l'initialisation des tableaux associatifs.
Exemple:
$keys = ['name', 'age', 'gender'];
$array = array_fill_keys($keys, 'unknown');
Bien que les fonctions de array_fill () et array_fill_keys () impliquent le remplissage du tableau, leurs scénarios d'utilisation et leurs méthodes de remplissage soient différents. En comprenant la différence entre eux, vous pourrez sélectionner de manière flexible les fonctions appropriées pour faire fonctionner le tableau en fonction de vos besoins spécifiques.
En utilisant ces deux fonctions raisonnablement, vous pouvez considérablement améliorer l'efficacité de l'écriture du code PHP et éviter la confusion dans le développement réel.