Dans PHP Programming, Array_Combine () et Array_Fill_Keys () sont tous deux des fonctions très utiles qui peuvent aider lors du traitement des tableaux. Mais leurs scénarios d'utilisation et leurs méthodes de mise en œuvre sont différents. Cet article explorera les différences entre ces deux fonctions en détail et introduira comment utiliser array_fill_keys () au lieu de Array_combine () dans certains cas pour améliorer la flexibilité et l'efficacité du code.
Array_combine () est l'une des fonctions intégrées de PHP qui crée un nouveau tableau associatif. Cette fonction nécessite deux paramètres:
Clés : un tableau contenant des noms de clés
Valeurs : un tableau contenant des valeurs
Array_combine () utilisera les éléments du tableau des clés comme nom de clé du nouveau tableau et les éléments du tableau des valeurs comme valeur, renvoyant ainsi un nouveau tableau.
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
print_r($result);
Array
(
[a] => 1
[b] => 2
[c] => 3
)
Dans cet exemple, Array_Combine () utilise les éléments du tableau $ clés comme clés du tableau et les éléments du tableau de valeurs $ comme valeurs correspondantes, créant ainsi un nouveau tableau associatif.
Les fonctions de array_fill_keys () et array_combine () sont similaires, mais sont évidemment différentes. array_fill_keys () est principalement utilisé pour remplir un nouveau tableau associatif avec la même valeur via un tableau de clé donné. Sa syntaxe est la suivante:
array_fill_keys(array $keys, mixed $value): array
Clés : un tableau contenant des noms de clés
Valeur : utilisé pour remplir la valeur correspondante de chaque clé
$keys = ['a', 'b', 'c'];
$value = 100;
$result = array_fill_keys($keys, $value);
print_r($result);
Array
(
[a] => 100
[b] => 100
[c] => 100
)
Contrairement à array_combine () , array_fill_keys () au lieu de combiner un tableau de valeurs avec un certain nombre de clés, mais remplit la même valeur sur chaque clé.
Pour remplacer array_combine () par array_fill_keys () , nous devons comprendre la différence entre eux. Array_combine () nécessite deux tableaux, l'un fournit des clés et l'autre fournit des valeurs; array_fill_keys () ne nécessite qu'un tableau de clés et une seule valeur.
Dans certains cas, si vous avez déjà un tableau de clés et que vous souhaitez remplir toutes les clés avec une valeur fixe, vous pouvez utiliser array_fill_keys () au lieu de Array_combine () .
Supposons que nous devons créer un tableau qui associe les clés [«A», «B», «C»] aux valeurs [1, 2, 3] . Le code utilisant array_combine () est le suivant:
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
Cependant, si nous devons remplir ces valeurs avec une certaine valeur fixe (comme 0 ), nous pouvons utiliser array_fill_keys () :
$keys = ['a', 'b', 'c'];
$result = array_fill_keys($keys, 0);
print_r($result);
Array
(
[a] => 0
[b] => 0
[c] => 0
)
Array_Combine () est utilisé pour combiner deux tableaux dans un tableau associatif, avec des clés et des valeurs provenant de différents tableaux.
array_fill_keys () est utilisé pour attribuer la même valeur à toutes les clés spécifiées, adaptées aux scénarios où la valeur est unifiée.
Le tableau de la même longueur : array_combine () nécessite que les tableaux de clés et de valeurs doivent avoir la même longueur. S'ils sont de longueurs différentes, un avertissement est lancé et faux est renvoyé.
$keys = ['a', 'b'];
$values = [1, 2, 3];
$result = array_combine($keys, $values); // Cela va mal
simplicité de array_fill_keys () : si vous devez définir la même valeur pour chaque clé, il est plus facile d'utiliser array_fill_keys () , sans avoir besoin de préparer un tableau de valeur unique.
Considérations de performances : en termes de performances, array_fill_keys () peut être plus efficace que Array_combine () car il n'a besoin que de fournir une valeur pour remplir toutes les clés, en particulier lorsque les valeurs sont les mêmes.
Traitement des tableaux vides : lorsque le tableau d'entrée est vide, array_combine () renvoie false et array_fill_keys () renverra un tableau vide.
Bien que Array_Combine () et Array_Fill_Keys () semblent avoir des similitudes, leurs fonctions et scénarios d'utilisation sont différents. Lorsque vous devez combiner deux tableaux dans un tableau associatif, il est plus approprié d'utiliser array_combine () ; Et lorsque vous devez attribuer la même valeur à plusieurs clés, array_fill_keys () est un choix plus simple.
La maîtrise des différences et des compétences d'utilisation de ces deux fonctions peut vous rendre plus à l'aise dans la programmation PHP.