Heim  >  Artikel  >  Backend-Entwicklung  >  So fragen Sie die Anzahl identischer Werte in einem Array in PHP ab

So fragen Sie die Anzahl identischer Werte in einem Array in PHP ab

PHPz
PHPzOriginal
2023-04-19 11:29:081002Durchsuche

In der PHP-Entwicklung ist die Array-Verarbeitung eine sehr häufige Aufgabe. Bei einem großen und unübersichtlichen Array müssen wir möglicherweise die Anzahl der darin enthaltenen identischen Werte abfragen. In diesem Artikel wird detailliert beschrieben, wie Sie mit PHP die Anzahl identischer Werte in einem Array abfragen.

1. Verwenden Sie die Funktion array_count_values()

PHP bietet eine sehr praktische Funktion array_count_values(). Diese Funktion kann die Anzahl der Vorkommen jedes Elements im Array zählen und ein assoziatives Array zurückgeben, wobei der Schlüssel den Wert im Array darstellt Array. Wert stellt die Anzahl der Vorkommen des Werts im Array dar. Nach diesem Prinzip können wir einfach die Anzahl identischer Werte in einem Array zählen.

Das Folgende ist ein Beispielcode, der die Funktion array_count_values() verwendet, um die Anzahl identischer Werte in einem Array zu zählen:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana');

$countArr = array_count_values($arr);

foreach($countArr as $key => $value) {
    echo $key . ':' . $value . '<br />';
}

Das Ausgabeergebnis ist:

apple:3
banana:2
orange:1

2. Verwenden Sie die foreach-Schleife, um

Wir können Verwenden Sie auch die foreach-Schleife, um das Array einzeln zu durchlaufen. Nehmen Sie jedes Element und zählen Sie seine Vorkommen im Array. Der Code lautet wie folgt:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana');

$countArr = array();

foreach($arr as $val) {
    if(isset($countArr[$val])) {
        $countArr[$val]++;
    }
    else {
        $countArr[$val] = 1;
    }
}

foreach($countArr as $key => $value) {
    echo $key . ':' . $value . '<br />';
}

Das Ausgabeergebnis ist das gleiche wie oben.

3. Verwenden Sie zur Implementierung die Funktionen array_unique() und array_diff_assoc(). Eine andere Möglichkeit besteht darin, die Funktionen array_unique() und array_diff_assoc() zu kombinieren, d. h. zuerst die Funktion array_unique() zu verwenden, um Duplikate zu entfernen, und dann Verwenden Sie die Funktion array_diff_assoc(). Ermitteln Sie die Differenz zwischen dem ursprünglichen Array und dem deduplizierten Array, fügen Sie das Ergebnis schließlich als Schlüssel zu einem leeren Array hinzu und zählen Sie die Anzahl der Vorkommen. Der Code lautet wie folgt:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana');

$uniqueArr = array_unique($arr);

$diffArr = array_diff_assoc($arr, $uniqueArr);

$countArr = array();

foreach($diffArr as $val) {
    if(isset($countArr[$val])) {
        $countArr[$val]++;
    }
    else {
        $countArr[$val] = 1;
    }
}

foreach($countArr as $key => $value) {
    echo $key . ':' . $value . '<br />';
}

Das Ausgabeergebnis ist das gleiche wie oben.

Zusammenfassung

In diesem Artikel werden drei Methoden zum Abfragen der Anzahl identischer Werte in einem PHP-Array vorgestellt, darunter die Verwendung der Funktion array_count_values(), die Verwendung der foreach-Schleife sowie die Verwendung der Funktionen array_unique() und array_diff_assoc(). Bei kleineren Arrays funktioniert jede Methode; bei größeren Arrays ist die dritte Methode schneller. Wir können eine Methode auswählen, die entsprechend der tatsächlichen Situation zu uns passt, um denselben Wert im Array abzufragen.

Das obige ist der detaillierte Inhalt vonSo fragen Sie die Anzahl identischer Werte in einem Array in PHP ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn