Dans PHP, la fonction Array_INTERSECT () est utilisée pour trouver les valeurs qui apparaissent ensemble dans plusieurs tableaux. Il renvoie un nouveau tableau contenant les mêmes valeurs présentes dans tous les tableaux. Aujourd'hui, nous explorerons comment utiliser cette fonction et compter davantage le nombre de fois que ces valeurs communes apparaissent dans le tableau d'origine.
La fonction Array_INTERSECT () accepte plusieurs tableaux sous forme de paramètres et renvoie un tableau contenant les parties d'intersection de plusieurs tableaux, c'est-à-dire qu'il existe des valeurs qui apparaissent dans tous les tableaux. Il convient de noter qu'il compare simplement les valeurs, ignorant les noms clés des éléments dans le tableau.
array_intersect(array $array1, array $array2, array ...$arrays): array
$ array1, $ array2, ... $ arrays : un ou plusieurs tableaux à comparer.
Valeur de retour: un nouveau tableau contenant les valeurs trouvées dans tous les tableaux d'entrée.
Ci-dessous, nous utilisons un exemple simple pour montrer comment utiliser array_intersect () pour trouver les valeurs qui apparaissent ensemble dans plusieurs tableaux et compter leurs occurrences dans le tableau d'origine.
<?php
// Définir trois tableaux
$array1 = array(1, 2, 3, 4, 5, 6);
$array2 = array(4, 5, 6, 7, 8);
$array3 = array(3, 4, 5, 9);
// Trouvez les valeurs communes dans ces trois tableaux
$commonValues = array_intersect($array1, $array2, $array3);
// Sortir une valeur commune
echo "La valeur qui apparaît ensemble est:\n";
print_r($commonValues);
// Statistiques Le nombre d'occurrences de ces valeurs communes dans le tableau d'origine
echo "\nStatistiques Le nombre d'occurrences de valeurs communes:\n";
foreach ($commonValues as $value) {
$count1 = count(array_keys($array1, $value));
$count2 = count(array_keys($array2, $value));
$count3 = count(array_keys($array3, $value));
echo "valeur $value Apparaît dans le tableau1Nombre de fois:$count1\n";
echo "valeur $value Apparaît dans le tableau2Nombre de fois:$count2\n";
echo "valeur $value Apparaît dans le tableau3Nombre de fois:$count3\n";
}
?>
Nous définissons trois tableaux $ array1 , $ array2 , $ array3 .
Utilisez la fonction Array_INTERSECT () pour trouver les valeurs communes dans ces trois tableaux, et le résultat est enregistré dans $ CommonValues .
Pour chaque valeur d'occurrence commune, nous utilisons la fonction Array_Keys () pour découvrir sa position dans chaque tableau d'origine, puis calculer son numéro d'occurrence via la fonction Count () .
Enfin, nous représentons le nombre d'occurrences de chaque valeur commune en trois tableaux.
Parfois, nous pouvons avoir besoin de traiter certaines adresses URL contenant un tableau. Supposons que nous ayons plusieurs tableaux contenant différentes URL, nous pouvons trouver l'URL commune via la fonction array_intersect () , puis compter le nombre de fois que chaque URL apparaît. Pour démontrer cette fonction, ce qui suit est le code modifié, et le nom de domaine de l'URL a été remplacé par m66.net :
<?php
// Définir trois tableaux,Il contient URL
$array1 = array("https://m66.net/page1", "https://m66.net/page2", "https://m66.net/page3");
$array2 = array("https://m66.net/page3", "https://m66.net/page4", "https://m66.net/page5");
$array3 = array("https://m66.net/page2", "https://m66.net/page3", "https://m66.net/page6");
// Découvrez ce qui est courant dans ces trois tableaux URL
$commonUrls = array_intersect($array1, $array2, $array3);
// Sortie commune URL
echo "Co-apparition URL Oui:\n";
print_r($commonUrls);
// Statistiques de ces communs URL Nombre d'occurrences
echo "\nStatistique commun URL Nombre d'occurrences:\n";
foreach ($commonUrls as $url) {
$count1 = count(array_keys($array1, $url));
$count2 = count(array_keys($array2, $url));
$count3 = count(array_keys($array3, $url));
echo "URL $url Apparaît dans le tableau1Nombre de fois:$count1\n";
echo "URL $url Apparaît dans le tableau2Nombre de fois:$count2\n";
echo "URL $url Apparaît dans le tableau3Nombre de fois:$count3\n";
}
?>
Les arrays $ array1 , $ array2 , $ array3 contiennent l'adresse URL avec le nom de domaine m66.net .
Utilisez la fonction Array_INTERSECT () pour trouver l'adresse URL commune dans les trois tableaux.
Pour chaque URL commune, utilisez les fonctions array_keys () et count () pour compter ses occurrences dans chaque tableau.