Dans PHP, un générateur est un outil très puissant qui peut générer une séquence de calculs à la demande en mémoire, en particulier adapté au traitement de grandes quantités de données, et peut éviter efficacement le débordement de la mémoire. Cet article expliquera comment utiliser le générateur pour prétraiter les données, puis utiliser la fonction Array_count_values de PHP pour compter la fréquence.
Le générateur est un itérateur spécial en PHP qui nous permet de générer des données un par un sans charger toutes les données en mémoire à la fois. Le générateur renvoie une valeur via le mot clé de rendement , qui peut calculer la valeur suivante à chaque itération jusqu'à ce qu'aucune valeur ne puisse être renvoyée.
Supposons que nous ayons un ensemble de données brutes obtenues à partir d'une certaine URL (nous utilisons à la place m66.net ici). Nous devons filtrer certaines données qui répondent à certains critères, tels que l'obtention de mots contenant des mots A. Nous utiliserons ensuite Array_count_values pour compter la fréquence de chaque mot qui répond aux critères.
Voici un exemple simple de code:
<?php
// Simulation deURLLe processus d'obtention de données
function fetch_data_from_url() {
// Supposons que ces données proviennent deURL
$data = [
"apple", "banana", "apricot", "avocado", "cherry",
"apple", "apricot", "apple", "mango", "grape"
];
// Retourner un générateur,Retourner un mot à la fois
foreach ($data as $word) {
yield $word;
}
}
// Données de prétraitement à l'aide du générateur,Ne filtrez que les lettres"A"Paroles
function process_data() {
foreach (fetch_data_from_url() as $word) {
if (strpos($word, 'a') !== false) {
yield $word;
}
}
}
// Utiliser le générateur pour traiter les données
$processed_data = iterator_to_array(process_data());
// utiliser array_count_values Fréquence statistique
$word_frequencies = array_count_values($processed_data);
// Statistiques de sortie
print_r($word_frequencies);