benutzerdefinierte Bestellarray-Sortierung in php
sortieren Arrays in PHP wird normalerweise durch vergleichsbasierte Algorithmen durchgeführt. Es gibt jedoch Situationen, in denen Sie Arrays basierend auf einer vordefinierten benutzerdefinierten Bestellung sortieren müssen.
Betrachten Sie ein Array von Arrays, in denen jedes Sub-Array zwei Schlüssel enthält: "ID" und "Titel". Sie möchten das Hauptarray in einer bestimmten Reihenfolge sortieren, wie z. This function allows you to specify a comparison function that defines how the array elements are compared.
[3452342, 5867867, 7867867, 1231233]
usort($array, function ($a, $b) use ($order) { $ pos_a = array_search ($ a ['id'], $ order); $ pos_b = array_search ($ b ['id'], $ order); return $ pos_a - $ pos_b; });
Die Vergleichsfunktion weist die Positionen der "ID" -Werte im $ Order -Array $ pos_a und $ pos_b zu. Anschließend wird diese Positionen abgezogen, um die Bestellung zu bestimmen ($ A kommt vor $ b, wenn $ pos_a weniger als $ pos_b ist).
usort($array, function ($a, $b) use ($order) { $pos_a = array_search($a['id'], $order); $pos_b = array_search($b['id'], $order); return $pos_a - $pos_b; });
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3