Maison  >  Article  >  développement back-end  >  Comment interroger l'intersection de deux tableaux en php

Comment interroger l'intersection de deux tableaux en php

PHPz
PHPzoriginal
2023-04-27 09:11:29640parcourir

Dans le processus de développement avec PHP, il est souvent nécessaire d'opérer sur des tableaux. L'une des opérations courantes consiste à interroger l'intersection de deux tableaux. Par exemple, si nous avons deux listes d’étudiants, une pour la classe A et une pour la classe B, nous devrons peut-être interroger la liste des étudiants des deux classes.

En PHP, interroger l'intersection de deux tableaux est très simple et peut être réalisé à l'aide de la fonction array_intersect(). Cette fonction accepte deux tableaux ou plus comme arguments et renvoie un nouveau tableau contenant toutes les valeurs qui apparaissent simultanément dans les tableaux d'entrée. Voici un exemple : array_intersect() 函数来实现。该函数接受两个或多个数组作为参数,并返回一个新数组,其中包含所有在输入数组中同时出现的值。下面是一个示例:

$studentsA = array("Alice", "Bob", "Charlie", "David");
$studentsB = array("Charlie", "David", "Eve", "Frank");
$commonStudents = array_intersect($studentsA, $studentsB);
print_r($commonStudents);

运行上面的代码,输出结果如下:

Array (
  [2] => Charlie
  [3] => David
)

上面的代码中,我们创建了两个学生名单,分别是班级 A 和班级 B 的学生名单。我们使用 array_intersect() 函数来获取这两个数组的交集,并将结果存储在 $commonStudents 变量中。最后,我们使用 print_r() 函数来打印 $commonStudents 变量的内容。

如上所述,array_intersect() 函数接受两个或多个数组作为参数。如果我们需要查询多个数组的交集,只需要在函数调用中添加更多的数组即可。例如:

$studentsA = array("Alice", "Bob", "Charlie", "David");
$studentsB = array("Charlie", "David", "Eve", "Frank");
$studentsC = array("Alice", "Eve", "Grace", "Helen");
$commonStudents = array_intersect($studentsA, $studentsB, $studentsC);
print_r($commonStudents);

运行上面的代码,输出结果如下:

Array (
    [0] => Alice
)

上面的代码中,我们创建了三个学生名单,分别是班级 A、B 和 C 的学生名单。我们使用 array_intersect() 函数来获取这三个数组的交集,并将结果存储在 $commonStudents 变量中。最后,我们使用 print_r() 函数来打印 $commonStudents 变量的内容。

在使用 array_intersect() 函数时需要注意的一点是,该函数只对数组的值进行比较,不比较键。换句话说,如果两个数组中有相同的值但键不同,array_intersect() 函数也会将其视为不同的元素。如果我们需要按照键来比较两个数组,可以使用 array_intersect_key()rrreee

Exécutez le code ci-dessus, le résultat est le suivant :

rrreee

Dans le code ci-dessus, nous avons créé deux listes d'étudiants, à savoir les listes d'étudiants de la classe A et de la classe B. Nous utilisons la fonction array_intersect() pour obtenir l'intersection de ces deux tableaux et stockons le résultat dans la variable $commonStudents. Enfin, nous utilisons la fonction print_r() pour imprimer le contenu de la variable $commonStudents. 🎜🎜Comme mentionné ci-dessus, la fonction array_intersect() accepte deux tableaux ou plus comme paramètres. Si nous devons interroger l'intersection de plusieurs tableaux, il nous suffit d'ajouter plus de tableaux à l'appel de fonction. Par exemple : 🎜rrreee🎜Exécutez le code ci-dessus, le résultat de sortie est le suivant : 🎜rrreee🎜Dans le code ci-dessus, nous avons créé trois listes d'étudiants, qui sont les listes d'étudiants des classes A, B et C. Nous utilisons la fonction array_intersect() pour obtenir l'intersection de ces trois tableaux et stockons le résultat dans la variable $commonStudents. Enfin, nous utilisons la fonction print_r() pour imprimer le contenu de la variable $commonStudents. 🎜🎜Une chose à noter lors de l'utilisation de la fonction array_intersect() est que cette fonction compare uniquement les valeurs des tableaux, pas les clés. En d'autres termes, si deux tableaux ont la même valeur mais des clés différentes, la fonction array_intersect() les traitera comme des éléments différents. Si nous devons comparer deux tableaux par clé, nous pouvons utiliser la fonction array_intersect_key(). 🎜🎜Ce qui précède présente comment interroger l'intersection de deux tableaux en PHP, et présente également comment interroger l'intersection de plusieurs tableaux. L'utilisation de ces fonctions peut nous aider à exploiter les baies plus facilement, améliorant ainsi notre efficacité de développement. 🎜

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