So sortieren Sie ein Array basierend auf zwei Feldern in PHP
Wenn wir in PHP ein Array sortieren müssen, können wir integrierte Funktionen wie sort() und rsort() verwenden, um die Elemente im Array zu sortieren. Manchmal müssen wir jedoch basierend auf zwei Feldern im Array sortieren und dann die Funktion usort() verwenden.
usort – Werte in einem Array mit einer benutzerdefinierten Vergleichsfunktion sortieren
Syntax: bool usort ( array &$array, callable $value_compare_func )
Diese Funktion sortiert die Werte im Array mithilfe der angegebenen Vergleichsfunktion. Es ist zu beachten, dass sich diese Funktion direkt auf das ursprüngliche Array auswirkt und nicht das sortierte Array zurückgibt.
Nutzungsszenario
Bei einigen komplexen Anwendungen ist es manchmal erforderlich, nach mehreren Feldern zu sortieren, z. B. zuerst nach Preis und dann nach Verkaufsvolumen zu sortieren Wenn der Preis derselbe ist, müssen wir die Funktion usort() verwenden, um dies zu erreichen.
Beispielcode
Das Folgende ist ein tatsächliches Beispiel für die Verwendung der Funktion usort() zum Sortieren eines Arrays. Angenommen, wir haben eine Produktpalette, die Produktname, Preis, Verkaufsvolumen und andere Informationen enthält. Jetzt müssen wir die Produkte nach Preis und Verkaufsvolumen sortieren.
$products = [ [ "name" => "商品A", "price" => 100, "sales" => 200 ], [ "name" => "商品B", "price" => 120, "sales" => 150 ], [ "name" => "商品C", "price" => 80, "sales" => 300 ], ]; function cmp($a, $b) { if ($a['price'] == $b['price']) { return $a['sales'] < $b['sales'] ? 1 : -1; } return $a['price'] > $b['price'] ? 1 : -1; } usort($products, "cmp"); print_r($products);
Laufendes Ergebnis:
Array ( [0] => Array ( [name] => 商品C [price] => 80 [sales] => 300 ) [1] => Array ( [name] => 商品A [price] => 100 [sales] => 200 ) [2] => Array ( [name] => 商品B [price] => 120 [sales] => 150 ) )
Hier definieren wir eine cmp()-Funktion, die verwendet wird, um den Preis und das Verkaufsvolumen zweier Produkte zu vergleichen und sie nach Preis zu sortieren von klein nach groß, Sortierung nach Verkaufsvolumen von groß nach klein. Verwenden Sie dann die Funktion usort(), um das Produktarray zu sortieren und die sortierten Ergebnisse auszudrucken.
Zusammenfassung
Mit der Funktion usort() können Arrays flexibel sortiert und basierend auf mehreren Feldern sortiert werden, um komplexere Anwendungsanforderungen zu erfüllen. Hierbei ist zu beachten, dass die Sortierfunktion zwei Array-Elemente vergleicht, sodass $a und $b jeweils zwei Elemente im Array darstellen. Die Funktion muss einen der drei Werte positive Zahl, negative Zahl und 0 zurückgeben , was anzeigt, dass das Verhältnis von $a zu $b größer, kleiner oder gleich ist.
Das obige ist der detaillierte Inhalt vonSo sortieren Sie ein Array basierend auf zwei Feldern in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Artikel wird die effiziente PHP -Array -Deduplizierung untersucht. Es vergleicht integrierte Funktionen wie Array_unique () mit benutzerdefinierten Hashmap-Ansätzen, wobei die Leistungsabschreibungen auf der Grundlage von Array-Größe und Datentyp hervorgehoben werden. Die optimale Methode hängt von Profili ab

In diesem Artikel werden die PHP -Array -Deduplizierung unter Verwendung der Einzigartigkeit der Schlüsselkompetenz untersucht. Während keine direkte doppelte Entfernungsmethode ist, ermöglicht die Hebelung der Einzigartigkeit von Schlüssel ein neues Array mit eindeutigen Werten durch Zuordnen von Werten zu Tasten und überschreiben Duplikate. Dieser AP

Dieser Artikel analysiert die PHP -Array -Deduplizierung und zeigt Leistungs Engpässe von naiven Ansätzen (O (N²)). Es untersucht effiziente Alternativen unter Verwendung von Array_unique () mit benutzerdefinierten Funktionen, SPOBPECTSPORAGE- und Hashset -Implementierungen, Erreichen

In diesem Artikel werden die Nachrichtenwarteschlangen in PHP unter Verwendung von Rabbitmq und Redis implementiert. Es vergleicht ihre Architekturen (AMQP vs. In-Memory), Merkmale und Zuverlässigkeitsmechanismen (Bestätigungen, Transaktionen, Persistenz). Best Practices für Design, Fehler

In diesem Artikel werden aktuelle PHP-Codierungsstandards und Best Practices untersucht und sich auf PSR-Empfehlungen (PSR-1, PSR-2, PSR-4, PSR-12) konzentrieren. Es betont die Verbesserung der Code -Lesbarkeit und -wartbarkeit durch konsistentes Styling, sinnvolles Namen und EFF

In diesem Artikel wird die Optimierung der PHP -Array -Deduplizierung für große Datensätze untersucht. Es untersucht Techniken wie Array_unique (), Array_flip (), SplobjectStorage und Pre-Sorting, verglichen ihre Effizienz. Für massive Datensätze schlägt dies vor, die Datenbank zu spielen, Datenbank

In diesem Artikel wird die Installation und Fehlerbehebung von PHP -Erweiterungen in der Installation und Fehlerbehebung beschrieben und sich auf PECL konzentriert. Es deckt Installationsschritte (Feststellung, Herunterladen/Kompilieren, Aktivieren, Neustarten des Servers), Fehlerbehebungstechniken (Überprüfung von Protokollen, Überprüfung der Installation, Fehlerbehebungstechniken

In diesem Artikel werden die Reflexions -API von PHP erläutert und die Laufzeitinspektion und Manipulation von Klassen, Methoden und Eigenschaften ermöglicht. Es beschreibt gemeinsame Anwendungsfälle (Dokumentationserzeugung, ORMs, Abhängigkeitsinjektion) und Vorsichtsmaßnahmen gegen Leistungsüberhitzungen
