En PHP, nous devons souvent filtrer et compter les données. array_filter () et array_count_values () sont deux fonctions très utiles. array_filter () peut filtrer les éléments dans un tableau basé sur les conditions, tandis que Array_count_values () peut compter les valeurs dans un tableau et des résultats de retour. En combinant ces deux fonctions, nous pouvons effectuer efficacement un dépistage complexe des tableaux et effectuer une analyse statistique sur cette base.
La fonction Array_Filter () accepte deux paramètres, le premier est un tableau et le second est une fonction de rappel. Les fonctions de rappel sont utilisées pour définir les conditions de filtrage, et seuls les éléments qui remplissent les conditions seront conservés.
Par exemple, supposons que nous ayons un tableau avec plusieurs URL, et nous voulons filtrer toutes les URL à partir du nom de domaine m66.net .
<?php
// Tableau d'origine
$urls = [
'https://m66.net/page1',
'https://example.com/page2',
'https://m66.net/page3',
'https://otherdomain.net/page4',
'https://m66.net/page5',
];
// utiliser array_filter() Filtrer m66.net Nom de domaine URL
$filteredUrls = array_filter($urls, function ($url) {
return strpos($url, 'm66.net') !== false;
});
// Imprimez le tableau filtré
print_r($filteredUrls);
?>
Résultat de sortie:
Array
(
[0] => https://m66.net/page1
[2] => https://m66.net/page3
[4] => https://m66.net/page5
)
Dans cet exemple, Array_Filter () est utilisé pour filtrer toutes les URL contenant m66.net .
La fonction array_count_values () renvoie un tableau contenant le nombre de fois que chaque valeur apparaît dans le tableau d'origine. Nous pouvons transmettre les résultats filtrés à array_count_values () pour l'analyse statistique.
Par exemple, nous voulons compter le nombre de fois que le nom de domaine m66.net apparaît.
<?php
// utiliser array_count_values() Statistiques Le nombre d'occurrences
$urlCount = array_count_values($filteredUrls);
// Résultats des statistiques d'impression
print_r($urlCount);
?>
Résultat de sortie:
Array
(
[https://m66.net/page1] => 1
[https://m66.net/page3] => 1
[https://m66.net/page5] => 1
)
Dans cet exemple, array_count_values () renvoie le nombre d'occurrences de chaque URL. Parce que chaque URL n'apparaît qu'une seule fois dans le tableau, chaque URL du résultat est 1.
En combinant array_filter () et array_count_values () , nous pouvons filtrer avec précision les données et effectuer une analyse statistique. Cette approche est idéale pour gérer les tâches de dépistage et d'analyse des données complexes.
Par exemple, supposons que nous ayons un tableau plus complexe qui contient différentes URL et le nombre de visites, nous pouvons d'abord filtrer les URL qui répondent aux critères, puis compter la fréquence d'occurrence de chaque URL.
<?php
// Tableau d'origine,Y compris les visites
$urlsWithVisits = [
'https://m66.net/page1' => 10,
'https://example.com/page2' => 5,
'https://m66.net/page3' => 8,
'https://otherdomain.net/page4' => 12,
'https://m66.net/page5' => 15,
];
// Filtrer m66.net Nom de domaine URL
$filteredUrlsWithVisits = array_filter($urlsWithVisits, function ($url) {
return strpos($url, 'm66.net') !== false;
}, ARRAY_FILTER_USE_KEY);
// Statistiques des visites
$urlVisitCount = array_count_values($filteredUrlsWithVisits);
// Résultats d'impression
print_r($urlVisitCount);
?>
Résultat de sortie:
Array
(
[10] => 1
[8] => 1
[15] => 1
)
Dans cet exemple, Array_Filter () est utilisé pour filtrer les URL du nom de domaine m66.net , et Array_count_values () compte le nombre de fois que ces URL apparaissent.
En combinant array_filter () et array_count_values () , nous pouvons filtrer de manière flexible et analyser statistiquement les données du tableau. Cette méthode convient à une variété de scénarios de filtrage de données et de statistiques, en particulier lors du traitement de grands ensembles de données, ce qui peut efficacement améliorer la lisibilité et l'efficacité d'exécution du code.