Maison  >  Article  >  développement back-end  >  Comment trouver l'intersection des tableaux en php

Comment trouver l'intersection des tableaux en php

PHPz
PHPzoriginal
2023-04-26 14:19:224202parcourir

Array est une structure de données largement utilisée dans la programmation PHP. L'opération d'intersection est une exigence courante pour fonctionner sur des tableaux. En PHP, nous pouvons utiliser un certain nombre de méthodes différentes pour trouver l’intersection de deux ou plusieurs tableaux. Cet article discutera et présentera ce sujet en détail.

La première méthode consiste à utiliser la fonction array_intersect pour trouver l'intersection de deux tableaux. Cette fonction prend deux ou plusieurs tableaux comme arguments et renvoie l'intersection des éléments de ces tableaux. Voici un exemple de code utilisant la fonction array_intersect :

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array_intersect($firstArray, $secondArray);

print_r($result);

Le code ci-dessus renverra un tableau contenant "banane" et "poire". Parce que les deux éléments existent à la fois dans $firstArray et $secondArray.

La deuxième méthode consiste à utiliser la fonction intégrée array_values ​​​​​​pour décompresser les valeurs dans le tableau d'intersection. La valeur décomposée est toujours un tableau, qui ne contient que les valeurs de la partie intersection. Voici un exemple de code utilisant la fonction array_values ​​​​:

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array_intersect($firstArray, $secondArray);

$result = array_values($result);

print_r($result);

Après son exécution, il renverra un nouveau tableau contenant les éléments d'intersection, à savoir : "banane" et "poire".

La troisième méthode consiste à utiliser une instruction de boucle foreach pour parcourir le premier tableau et vérifier si ses éléments existent également dans le deuxième tableau. Si l'élément existe dans le deuxième tableau, il est ajouté au tableau d'intersection. Voici un exemple de code utilisant une instruction de boucle foreach :

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array();

foreach ($firstArray as $value) {
    if (in_array($value, $secondArray)) {
        $result[] = $value;
    }
}

print_r($result);

Après l'exécution de ce code, il renverra un nouveau tableau contenant les éléments d'intersection.

La quatrième méthode consiste à utiliser la fonction array_filter pour filtrer l'intersection dans deux tableaux. Cette fonction accepte deux paramètres, le premier paramètre est le tableau à filtrer et le deuxième paramètre est une fonction de rappel. La fonction de rappel sera utilisée pour filtrer le tableau, et seuls les éléments répondant aux critères seront conservés. Un exemple de code utilisant la fonction array_filter est le suivant :

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array_filter($firstArray, function($item) use ($secondArray) {
    return in_array($item, $secondArray);
});

print_r($result);

Après l'exécution de ce code, il renverra un nouveau tableau contenant les éléments d'intersection.

En résumé, il existe de nombreuses méthodes différentes qui peuvent être utilisées pour trouver l'intersection de deux tableaux. Le moyen le plus simple consiste à utiliser la fonction array_intersect, puis à utiliser la fonction array_values ​​​​sur le tableau renvoyé pour décomposer les parties d'intersection. Les opérations d'intersection de base peuvent également être implémentées à l'aide de l'instruction de boucle foreach et de la fonction in_array. Enfin, la fonction array_filter fournit une méthode plus avancée qui peut utiliser des fonctions de rappel pour implémenter des opérations d'intersection et ajuster les règles de calcul d'intersection de manière plus flexible.

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