Maison  >  Article  >  développement back-end  >  Utilisez la fonction PHP array_intersect_key() pour obtenir l'intersection

Utilisez la fonction PHP array_intersect_key() pour obtenir l'intersection

WBOY
WBOYoriginal
2023-06-27 19:31:391001parcourir

Lors du développement avec PHP, cela implique souvent le traitement de tableaux. Parmi eux, prendre l’intersection de deux tableaux est une tâche courante. PHP fournit une fonction très pratique array_intersect_key() pour gérer ce problème. La fonction

array_intersect_key() consiste à conserver uniquement les éléments avec le même nom de clé dans deux tableaux ou plus et à renvoyer le tableau résultat. En termes simples, il prend l'intersection de deux tableaux, mais compare uniquement leurs clés au lieu de leurs valeurs.

Les paramètres de cette fonction sont deux ou plusieurs tableaux qui doivent être comparés, qui peuvent être un ou plusieurs. Voici la syntaxe de la fonction :

array_intersect_key(array1, array2 [, array3...])

où array1 est le premier tableau à comparer, array2 est le deuxième tableau et array3 peut être plusieurs tableaux. Si array3 et plusieurs tableaux ne sont pas spécifiés, seuls les deux premiers tableaux sont comparés par défaut.

Ce qui suit est un exemple simple montrant comment utiliser la fonction array_intersect_key() :

$array1 = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry');
$array2 = array('a'=>'orange', 'c'=>'cherry', 'd'=>'dates');
$result = array_intersect_key($array1, $array2);
print_r($result);

Dans l'exemple ci-dessus, nous définissons deux tableaux $array1 et $array2, qui contiennent respectivement des paires clé-valeur. Ensuite, nous avons appelé la fonction array_intersect_key(), en lui passant $array1 et $array2 comme arguments. Cette fonction renvoie un tableau de résultats contenant des éléments avec la même clé dans $array1 et $array2. Enfin, utilisez la fonction print_r() pour afficher le tableau de résultats.

Exécutez l'exemple ci-dessus et vous obtiendrez le résultat suivant :

Array
(
    [a] => apple
    [c] => cherry
)

Comme vous pouvez le voir, la fonction renvoie un nouveau tableau, qui contient uniquement les deux éléments avec les mêmes noms de clé a et c dans $array1 et $array2.

Il convient de noter que cette fonction compare les noms de clés plutôt que les valeurs de clés. Si les deux tableaux ont le même nom de clé mais des valeurs différentes, la fonction utilisera la valeur du tableau 1 comme valeur du tableau de résultats.

Lorsque vous utilisez la fonction array_intersect_key(), vous devez également faire attention aux points suivants :

  1. Cette fonction compare uniquement les noms de clés et non les valeurs des clés. Si vous devez comparer les valeurs des clés, utilisez la fonction array_intersect().
  2. Si deux tableaux ou plus ont le même nom de clé mais des valeurs de clé différentes, le résultat renvoyé par cette fonction contient la valeur correspondant à la clé dans le premier tableau.
  3. Si aucun nom de clé identique n'est trouvé, la fonction renvoie un tableau vide.

Pour résumer, la fonction array_intersect_key() est une fonction très pratique qui permet d'obtenir facilement l'intersection de deux ou plusieurs tableaux et sera utilisée très fréquemment dans le développement PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn