Aktueller Standort: Startseite> Neueste Artikel> Kombinieren Sie Array_Filter (), um komplexe Filterstatistiken durchzuführen

Kombinieren Sie Array_Filter (), um komplexe Filterstatistiken durchzuführen

M66 2025-05-16

In PHP müssen wir häufig Daten filtern und zählen. Array_Filter () und Array_Count_values ​​() sind zwei sehr nützliche Funktionen. array_filter () kann Elemente in einem Array basierend auf den Bedingungen filtern, während Array_Count_Values ​​() Werte in einem Array zählen und Ergebnisse zurückgeben kann. Wenn wir diese beiden Funktionen kombinieren, können wir auf dieser Grundlage eine komplexe Screening von Arrays effizient durchführen und statistische Analysen durchführen.

1. Verwenden Sie Array_Filter () für die komplexe Filterung

Die Funktion array_filter () akzeptiert zwei Parameter, das erste ist ein Array und die zweite ist eine Rückruffunktion. Rückruffunktionen werden verwendet, um die Filterbedingungen zu definieren, und nur Elemente, die die Bedingungen erfüllen, werden beibehalten.

Angenommen, wir haben ein Array mit mehreren URLs und möchten alle URLs aus dem Domain -Namen M66.net herausfiltern.

 <?php
// Originalarray
$urls = [
    'https://m66.net/page1',
    'https://example.com/page2',
    'https://m66.net/page3',
    'https://otherdomain.net/page4',
    'https://m66.net/page5',
];

// verwenden array_filter() Filtern m66.net Domain -Name URL
$filteredUrls = array_filter($urls, function ($url) {
    return strpos($url, 'm66.net') !== false;
});

// Drucken Sie das gefilterte Array aus
print_r($filteredUrls);
?>

Ausgangsergebnis:

 Array
(
    [0] => https://m66.net/page1
    [2] => https://m66.net/page3
    [4] => https://m66.net/page5
)

In diesem Beispiel wird Array_filter () verwendet, um alle URLs mit M66.net herauszufiltern.

2. Verwenden Sie Array_Count_Values ​​() für die statistische Analyse

Die Funktion array_count_values ​​() gibt ein Array zurück, das die Anzahl der im ursprünglichen Array angezeigten Wert enthält. Wir können die gefilterten Ergebnisse für die statistische Analyse an Array_Count_values ​​() übergeben.

Zum Beispiel möchten wir zählen, wie oft der M66.NET -Domänenname erscheint.

 <?php
// verwenden array_count_values() Statistik Die Anzahl der Vorkommen
$urlCount = array_count_values($filteredUrls);

// Ergebnisse der Statistik aus Druck
print_r($urlCount);
?>

Ausgangsergebnis:

 Array
(
    [https://m66.net/page1] => 1
    [https://m66.net/page3] => 1
    [https://m66.net/page5] => 1
)

In diesem Beispiel gibt Array_Count_Values ​​() die Anzahl der Vorkommen jeder URL zurück. Da jede URL nur einmal im Array erscheint, beträgt jede URL im Ergebnis 1.

3.. Umfassende Verwendung von Array_Filter () und Array_Count_values ​​()

Durch Kombinieren von Array_Filter () und Array_Count_values ​​() können wir die Daten genau filtern und statistische Analysen durchführen. Dieser Ansatz ist ideal für die Umgang mit komplexem Daten -Screening- und Analyseaufgaben.

Angenommen, wir haben ein komplexeres Array, das unterschiedliche URLs und die Anzahl der Besuche enthält. Wir können zuerst die URLs herausfiltern, die den Kriterien erfüllen, und dann die Häufigkeit des Auftretens jeder URL zählen.

 <?php
// Originalarray,Einschließlich Besuche
$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,
];

// Filtern m66.net Domain -Name URL
$filteredUrlsWithVisits = array_filter($urlsWithVisits, function ($url) {
    return strpos($url, 'm66.net') !== false;
}, ARRAY_FILTER_USE_KEY);

// Statistiken der Besuche
$urlVisitCount = array_count_values($filteredUrlsWithVisits);

// Druckergebnisse
print_r($urlVisitCount);
?>

Ausgangsergebnis:

 Array
(
    [10] => 1
    [8] => 1
    [15] => 1
)

In diesem Beispiel wird Array_filter () verwendet, um die URLs des Domänennamens m66.net herauszufiltern, und Array_Count_Values ​​() zählt die Anzahl der Erscheinen dieser URLs.

Zusammenfassen

Durch Kombination von Array_Filter () und Array_Count_Values ​​() können wir Array -Daten flexibel filtern und statistisch analysieren. Diese Methode eignet sich für eine Vielzahl von Datenfilterung und statistischen Szenarien, insbesondere bei der Verarbeitung großer Datensätze, die die Lesbarkeit und Ausführungseffizienz des Codes effektiv verbessern können.