Maison > développement back-end > Problème PHP > Quelle est la méthode pour obtenir l'intersection et la différence des tableaux en php

Quelle est la méthode pour obtenir l'intersection et la différence des tableaux en php

爱喝马黛茶的安东尼
Libérer: 2023-02-23 12:38:01
original
2298 Les gens l'ont consulté

Quelle est la méthode pour obtenir l'intersection et la différence des tableaux en php

1. Intersection de tableaux array_intersect()

La fonction array_intersect() renvoie un tableau avec les clés conservées, Ce tableau se compose uniquement de valeurs qui apparaissent dans le premier tableau et apparaissent dans tous les autres tableaux d'entrée. Sa forme est la suivante :

array array_intersect(array array1,array array2[,arrayN…])
Copier après la connexion

L'exemple suivant renverra tous les fruits qui apparaissent dans le tableau $fruit1 et apparaissent également dans $fruit2 et $fruit3 :

<?php
$fruit1 = array("Apple","Banana","Orange");
$fruit2 = array("Pear","Apple","Grape");
$fruit3 = array("Watermelon","Orange","Apple");
$intersection = array_intersect($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [0] => Apple )
?>
Copier après la connexion

Uniquement dans les deux éléments Ce n'est que lorsqu'ils sont égaux et ont le même type de données que la fonction array_intersect() les considérera comme identiques.

Recommandations associées : "Tutoriel PHP"

Intersection de tableaux associatifs array_intersect_assoc()

Fonction array_intersect_assoc() et array_intersect () est fondamentalement la même chose, sauf qu'il prend également en compte les clés du tableau dans la comparaison. Par conséquent, seules les paires clé/valeur qui apparaissent dans le premier tableau et qui apparaissent également dans tous les autres tableaux d'entrée sont renvoyées dans le tableau de résultats.

a la forme suivante :

array array_intersect_assoc(array array1,array array2[,arrayN…])
Copier après la connexion

L'exemple suivant renvoie toutes les paires clé/valeur qui apparaissent dans le tableau $fruit1 et apparaissent également dans $fruit2 et $fruit3 :

<?php
$fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange");
$fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape");
$fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple");
$intersection = array_intersect_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [red] => Apple )
?>
Copier après la connexion

2. Différence de tableau array_diff()

La fonction array_diff() renvoie les valeurs qui apparaissent dans le premier tableau mais ne se trouvent pas dans les autres tableaux d'entrée. Cette fonction est l'opposé de array_intersect().

array array_diff(array array1,array array2[,arrayN…])
Copier après la connexion

Les exemples sont les suivants :

<?php
$fruit1 = array("Apple","Banana","Orange");
$fruit2 = array("Pear","Apple","Grape");
$fruit3 = array("Watermelon","Orange","Apple");
$intersection = array_diff($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [1] => Banana )
?>
Copier après la connexion

Ensemble de différences de tableaux associatifs array_diff_assoc()

La fonction array_diff_assoc() est fondamentalement la même que array_diff( ), sauf que les clés du tableau sont également prises en compte lors de la comparaison. Par conséquent, seules les paires clé/valeur qui apparaissent dans le premier tableau mais pas dans les autres tableaux d’entrée sont renvoyées dans le tableau résultat. Sa forme est la suivante :

array array_diff_assoc(array array1,array array2[,arrayN…])
Copier après la connexion

L'exemple suivant renvoie uniquement [jaune] => Banana, car cette paire clé/valeur spéciale apparaît dans $fruit1, mais n'existe pas dans $fruit2 et $fruit3 .

<?php
$fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange");
$fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape");
$fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple");
$intersection = array_diff_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [yellow] => Banana )
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal