Position actuelle: Accueil> Derniers articles> Remplacez l'array_fill_keys par array_combine

Remplacez l'array_fill_keys par array_combine

M66 2025-05-14

Il existe de nombreuses fonctions de tableau utiles dans PHP, array_combine et array_fill_keys sont des fonctions utilisées pour manipuler les tableaux. Bien que leurs fonctions semblent similaires, leurs scénarios et usages d'utilisation sont différents dans le développement réel. Cet article explore dans quelles circonstances Array_combine peut être utilisée au lieu de Array_Fill_keys et leurs différences.

1. Concepts de base de l' array_combine et array_fill_keys

array_combine

La fonction de la fonction Array_Combine est de combiner deux tableaux dans un tableau associatif. Le premier tableau est utilisé comme clé et le deuxième tableau est utilisé comme valeur correspondante. Si le nombre d'éléments des deux tableaux n'est pas égal, Array_Combine renvoie false .

Grammaire :

 array_combine(array $keys, array $values): array|false

Exemple :

 $keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
print_r($result);

Sortir:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

array_fill_keys

La fonction Array_Fill_keys est utilisée pour remplir la valeur spécifiée en fonction du tableau donné de noms de clés. Il génère un nouveau tableau où tous les noms de clés correspondent aux mêmes valeurs.

Grammaire :

 array_fill_keys(array $keys, mixed $value): array

Exemple :

 $keys = ['a', 'b', 'c'];
$value = 100;
$result = array_fill_keys($keys, $value);
print_r($result);

Sortir:

 Array
(
    [a] => 100
    [b] => 100
    [c] => 100
)

2. La différence entre Array_Combine et Array_Fill_keys

Bien que Array_Combine et Array_Fill_Keys soient tous deux utilisés pour créer des tableaux associatifs, leur principale différence est la façon dont les clés et les valeurs du tableau sont gérées:

  • Array_combine nécessite deux tableaux, un pour les clés et un pour les valeurs.

  • array_fill_keys ne nécessite qu'un tableau de clés et une valeur, qui remplira chaque clé avec la même valeur.

3. Dans quelles circonstances Array_combine peut-elle être utilisée au lieu de Array_Fill_keys ?

Vous pouvez utiliser Array_Combine au lieu de Array_Fill_keys dans les cas suivants:

  • Lorsque tous les éléments du tableau de valeur sont les mêmes : si vous souhaitez attribuer la même valeur à chaque touche et que votre valeur est fixe, vous pouvez créer un tableau où tous les éléments sont remplis de la même valeur. Ensuite, utilisez Array_Combine pour combiner ce tableau de valeurs avec le tableau de clés.

    Exemple :

     $keys = ['a', 'b', 'c'];
    $value = 100;
    $values = array_fill(0, count($keys), $value); // Créer un tableau des mêmes valeurs
    $result = array_combine($keys, $values);
    print_r($result);
    

    Sortir:

     Array
    (
        [a] => 100
        [b] => 100
        [c] => 100
    )
    

    Dans le code ci-dessus, nous utilisons d'abord Array_Fill pour créer un tableau avec une valeur de 100 , puis fusionner les clés et les valeurs dans un tableau associatif via array_combine . Cela permet le même effet que Array_Fill_keys .

  • Lorsque le tableau de valeur est dynamique : si le contenu du tableau de valeur n'est pas nécessairement la même valeur fixe, l'utilisation de Array_combine sera plus flexible. Vous pouvez générer dynamiquement différents tableaux de valeurs, puis les fusionner avec le tableau de clés.

    Exemple :

     $keys = ['a', 'b', 'c'];
    $values = [1, 2, 3];  // Tableau de valeurs généré dynamiquement
    $result = array_combine($keys, $values);
    print_r($result);
    

    Sortir:

     Array
    (
        [a] => 1
        [b] => 2
        [c] => 3
    )
    

4. Résumé

  • Utilisez Array_Combine pour combiner un tableau de clés avec un certain nombre de valeurs, ce qui convient très bien aux tableaux de valeurs générés dynamiquement.

  • array_fill_keys est un choix plus concis et intuitif lorsque la valeur est fixe et que vous souhaitez attribuer la même valeur à chaque clé.

  • Array_Combine convient aux scénarios où différentes valeurs doivent correspondre aux clés une par une, tandis que Array_Fill_keys convient plus à toutes les clés pour utiliser la même valeur.

Choisir la bonne fonction en fonction des besoins spécifiques peut rendre votre code plus concis et efficace.