PHP-Array ist ein sehr häufig verwendeter Datentyp, der häufig in unserem Entwicklungsprozess verwendet wird. In der tatsächlichen Entwicklung stoßen wir häufig auf Situationen, in denen wir eine Gruppierung basierend auf denselben Werten im Array durchführen müssen. Wie implementiert man dies?
In PHP können wir array_column(), array_multisort() und andere Funktionen verwenden, um Arrays zu sortieren und zu gruppieren. Werfen wir einen Blick auf einige spezifische Implementierungsmethoden.
Zunächst können wir die Funktion array_column() verwenden, die den einem Schlüssel entsprechenden Wert aus einem Array herausnehmen und ein Array zurückgeben kann zur gleichen Zeit. Wir können Gruppierungsoperationen basierend auf dem von der Funktion array_column() zurückgegebenen Array durchführen, bei dem es sich um eine Sammlung derselben Werte handelt.
Die spezifische Implementierungsmethode lautet wie folgt:
<code class="php"><?php // 定义一个数组 $arr = array( array('id'=>1, 'name'=>'张三', 'age'=>18), array('id'=>2, 'name'=>'李四', 'age'=>20), array('id'=>3, 'name'=>'张三', 'age'=>22), array('id'=>4, 'name'=>'王五', 'age'=>25), array('id'=>5, 'name'=>'赵六', 'age'=>20), ); // 获取相同值的键名 $key_arr = array_column($arr, 'name'); // 分组操作 $res = array(); foreach($key_arr as $k=>$v) { $res[$v][] = $arr[$k]; } print_r($res); ?></code>
Im obigen Code definieren wir ein Array, das mehrere Datenelemente enthält. Dann verwenden wir die Funktion array_column(), um die Werte abzurufen, die allen „Name“-Schlüsseln in den Daten entsprechen, also [‚Zhang San‘, ‚Li Si‘, ‚Zhang San‘, ‚Wang Wu‘. , 'Zhao Liu'].
Als nächstes verwenden wir eine foreach-Schleife, um das obige Array zu durchlaufen, Daten mit demselben Wert zu gruppieren und sie im $res-Array zu speichern. Schließlich ist das Array $res das Gruppierungsergebnis, das wir benötigen.
Eine andere Implementierungsmethode besteht darin, die Funktion array_multisort() zu verwenden, um mehrdimensionale Arrays zu sortieren, Daten mit demselben Wert zusammen anzuordnen und dann Gruppierungsoperationen durchzuführen.
Die spezifische Implementierungsmethode lautet wie folgt:
<code class="php"><?php // 定义一个数组 $arr = array( array('id'=>1, 'name'=>'张三', 'age'=>18), array('id'=>2, 'name'=>'李四', 'age'=>20), array('id'=>3, 'name'=>'张三', 'age'=>22), array('id'=>4, 'name'=>'王五', 'age'=>25), array('id'=>5, 'name'=>'赵六', 'age'=>20), ); // 对数组进行排序 $name_arr = array_column($arr, 'name'); $age_arr = array_column($arr, 'age'); array_multisort($name_arr, SORT_ASC, SORT_STRING, $age_arr, SORT_ASC, SORT_NUMERIC, $arr); // 分组操作 $res = array(); foreach($arr as $k=>$v) { $res[$v['name']][] = $v; } print_r($res); ?></code>
Im obigen Code verwenden wir die Funktion array_column(), um die Werte zu erhalten, die den Schlüsseln „Name“ und „Alter“ entsprechen, und verwenden dann array_multisort() Funktion zum Sortieren des Arrays. Die Funktion array_multisort() kann mehrere Array-Parameter empfangen, sie in aufsteigender oder absteigender Reihenfolge entsprechend dem Wert des ersten Arrays sortieren und dann die anderen Arrays entsprechend der Reihenfolge des ersten Arrays sortieren. In diesem Beispiel stellen wir $name_arr auf die Sortierung in aufsteigender Reihenfolge und $age_arr auf die Sortierung in aufsteigender Reihenfolge ein.
Schließlich verwenden wir eine foreach-Schleife, um Daten mit demselben Wert zu gruppieren und die Ergebnisse im $res-Array zu speichern. Schließlich ist das Array $res das Gruppierungsergebnis, das wir benötigen.
Zusammenfassung
Beide der beiden oben genannten Methoden können den Vorgang der Gruppierung von PHP-Arrays basierend auf demselben Wert implementieren. Welche Methode Sie für die konkrete Umsetzung wählen, hängt von Ihren eigenen Bedürfnissen sowie der Struktur der Daten und anderen Faktoren ab. Unabhängig von der verwendeten Methode können wir eine effektive Klassifizierung und Statistik von Arrays erreichen und so die Effizienz und Zuverlässigkeit der Datenverarbeitung schnell verbessern.
Das obige ist der detaillierte Inhalt vonSo gruppieren Sie PHP-Arrays nach demselben Wert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!