


Wie sortiere ich mehrere Arrays oder mehrdimensionale Arrays mit der Funktion array_multisort?
array_multisort() kann verwendet werden, um mehrere Arrays gleichzeitig zu sortieren oder um mehrdimensionale Arrays nach einer oder mehreren Dimensionen zu sortieren.
array_multisort – Mehrere Arrays oder mehrdimensionale Arrays sortieren
Beschreibung
bool array_multisort ( array ar1 [, Mixed arg [, Mixed ... [, Array ...]]] )
array_multisort
(PHP 4, PHP 5)
Gibt TRUE zurück, wenn erfolgreich, FALSE, wenn fehlgeschlagen.
array_multisort() kann verwendet werden, um mehrere Arrays gleichzeitig zu sortieren oder um mehrdimensionale Arrays nach einer oder mehreren Dimensionen zu sortieren.
Assoziative (String-)Schlüsselnamen bleiben unverändert, numerische Schlüsselnamen werden jedoch neu indiziert.
Das Eingabearray wird als Tabellenspalte behandelt und nach Zeilen sortiert – dies ähnelt der Funktionalität der ORDER BY-Klausel von SQL. Das erste Array ist das zu sortierende Hauptarray. Wenn beim Vergleich festgestellt wird, dass die Zeilen (Werte) im Array gleich sind, werden sie nach der Größe des entsprechenden Werts im nächsten Eingabearray usw. sortiert.
Die Parameterstruktur dieser -Funktion ist etwas ungewöhnlich, aber sehr flexibel. Der erste Parameter muss ein Array sein. Jeder der folgenden Parameter kann ein Array oder ein unten aufgeführtes Sortierflag sein.
Sortierungsreihenfolge-Flags:
SORT_ASC – Sortierung in aufsteigender Reihenfolge
SORT_DESC – Sortierung in absteigender Reihenfolge
Sortierungstyp-Flags:
SORT_REGULAR – Sortierung in aufsteigender Reihenfolge Elemente werden nach der üblichen Methode verglichen
SORT_NUMERIC – Elemente werden nach numerischen Werten verglichen
SORT_STRING – Elemente werden nach Zeichenfolgen verglichen
Nr Nach jedem Array-Sortierflag können zwei vom gleichen Typ angegeben werden. Die nach jedem Array angegebenen Sortierflags gelten nur für dieses Array – zuvor wurden die Standardwerte SORT_ASC und SORT_REGULAR verwendet.
Beispiel 1. Mehrere Arrays sortieren
<?php $ar1 = array(“10″, 100, 100, “a”); $ar2 = array(1, 3, “2″, 1); array_multisort($ar1, $ar2); var_dump($ar1); var_dump($ar2); ?>
In diesem Beispiel enthält das erste Array nach dem Sortieren „10“, „a“, 100, 100. Das zweite Array enthält 1,1, „2“, 3. Die Reihenfolge der Elemente im zweiten Array entspricht genau der Reihenfolge der entsprechenden Elemente (100 und 100) im ersten Array.
array(4) { [0]=> string(2) “10″ [1]=> string(1) “a” [2]=> int(100) [3]=> int(100) } array(4) { [0]=> int(1) [1]=> int(1) [2]=> string(1) “2″ [3]=> int(3) }
Beispiel 2. Sortieren mehrdimensionaler Arrays
<?php $ar = array (array (“10″, 100, 100, “a”), array (1, 3, “2″, 1)); array_multisort ($ar[0], SORT_ASC, SORT_STRING, $ar[1], SORT_NUMERIC, SORT_DESC); ?>
In diesem Beispiel enthält das erste Array nach dem Sortieren 10, 100, 100, „a“ (aufsteigend als Zeichenfolge sortiert), das zweite Array enthält 1, 3, „2“, 1 (absteigend als numerischer Wert sortiert).
Beispiel 3. Sortieren eines mehrdimensionalen Arrays
<?php $ar = array( array(“10″, 11, 100, 100, “a”), array( 1, 2, “2″, 3, 1) ); array_multisort($ar[0], SORT_ASC, SORT_STRING, $ar[1], SORT_NUMERIC, SORT_DESC); var_dump($ar); ?>
In diesem Beispiel wird das erste Array nach dem Sortieren zu „10“, 100, 100, 11, „a“ (Behandelt als String in aufsteigender Reihenfolge). Das zweite Array enthält 1, 3, „2“, 2, 1 (in absteigender Reihenfolge als Zahlen behandelt).
array(2) { [0]=> array(5) { [0]=> string(2) “10″ [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) “a” } [1]=> array(5) { [0]=> int(1) [1]=> int(3) [2]=> string(1) “2″ [3]=> int(2) [4]=> int(1) } }
Beispiel 4. Datenbankergebnisse sortieren
In diesem Beispiel stellt jede Zelle im Datenarray eine Zeile in einer Tabelle dar. Dies ist eine typische Sammlung von Daten, die in einer Datenbank aufgezeichnet werden.
Die Daten im Beispiel sind wie folgt:
Volumen
——-+——–
67 |. 1
85 | |. 2
86 |. 6
67 |. Die Daten werden alle im Array mit dem Namen data gespeichert. Dies wird normalerweise über eine Schleife aus der Datenbank abgerufen, z. B.
mysql_fetch_assoc
().
In diesem Beispiel wird der Band in absteigender Reihenfolge und die Auflage in aufsteigender Reihenfolge sortiert.
<?php $data[] = array(‘volume' => 67, ‘edition' => 2); $data[] = array(‘volume' => 86, ‘edition' => 1); $data[] = array(‘volume' => 85, ‘edition' => 6); $data[] = array(‘volume' => 98, ‘edition' => 2); $data[] = array(‘volume' => 86, ‘edition' => 6); $data[] = array(‘volume' => 67, ‘edition' => 7); ?>
Die Datensammlung ist nun sortiert und die Ergebnisse lauten wie folgt:
<?php // 取得列的列表 foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } // 将数据根据 volume 降序排列,根据 edition 升序排列 // 把 $data 作为最后一个参数,以通用键排序 array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); ?>
——-+——–
98 | 2
86 |. 6
67 |. 7
Beispiel 5. Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung
SORT_REGULAR beide Es unterscheidet zwischen Groß- und Kleinbuchstaben und Großbuchstaben werden vor Kleinbuchstaben sortiert.
Um eine Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen, sortieren Sie nach der Kopie des Originalarrays in Kleinbuchstaben.
Das obige Beispiel gibt Folgendes aus:
Array ( [0] => Alpha [1] => atomic [2] => bank [3] => Beta )
补充资料:
对于PHP语言中的多维数组排序时最为复杂的一个排序方式。我们在实际编码中将会用到PHP函数array_multisort()来实现这一复杂的排序。例如,首先对一个嵌套数组使用一个普通的关键字进行排序,然后再根据另一个关键字进行排序。这与使用SQL的ORDER BY语句对多个字段进行排序非常相似。
PHP函数asort()利用值排序的具体方式解析
PHP函数arsort()的功能特点详解
PHP自然语言排序的特点介绍
PHP自然语言倒序的具体实现方式
如何运用PHP函数usort()实现自定义排序
Listing J示例为我们具体说明了PHP函数array_multisort()的工作方式:
1, "name" => "Boney M", "rating" => 3), array("id" => 2, "name" => "Take That", "rating" => 1), array("id" => 3, "name" => "The Killers", "rating" => 4), array("id" => 4, "name" => "Lusain", "rating" => 3), ); foreach ($data as $key => $value) { $name[$key] = $value[name]; $rating[$key] = $value[rating]; } array_multisort($rating, $name, $data); print_r($data);?> 这里,我们在$data数组中模拟了一个行和列数组。然后,我使用PHP函数array_multisort()对数据集合进行重排,首先是根据rating进行排序,然后,如果rating相等的话,再根据name排序。它的输出结果如下:
Array ([0] => Array ( [id] => 2 [name] => Take That [rating] => 1 ) [1] => Array ( [id] => 1 [name] => Boney M [rating] => 3 ) [2] => Array ( [id] => 4 [name] => Lusain [rating] => 3 ) [3] => Array ( [id] => 3 [name] => The Killers [rating] => 4 ) )
PHP函数array_multisort()是PHP中最有用的函数之一,它有非常广泛的应用范围。另外,就如你在例子中所看到的,它能对多个不相关的数组进行排序,也可以使用其中的一个元素作为下次排序的基础,还可以对数据库结果集进行排序。
Das obige ist der detaillierte Inhalt vonWie sortiere ich mehrere Arrays oder mehrdimensionale Arrays mit der Funktion array_multisort?. 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



MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung können Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptowährungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

Die Go-Sprache bietet zwei Technologien zur dynamischen Funktionserstellung: Schließung und Reflexion. Abschlüsse ermöglichen den Zugriff auf Variablen innerhalb des Abschlussbereichs, und durch Reflektion können mithilfe der FuncOf-Funktion neue Funktionen erstellt werden. Diese Technologien sind nützlich bei der Anpassung von HTTP-Routern, der Implementierung hochgradig anpassbarer Systeme und dem Aufbau steckbarer Komponenten.

Bei der Benennung von C++-Funktionen ist es wichtig, die Reihenfolge der Parameter zu berücksichtigen, um die Lesbarkeit zu verbessern, Fehler zu reduzieren und das Refactoring zu erleichtern. Zu den gängigen Konventionen für die Parameterreihenfolge gehören: Aktion-Objekt, Objekt-Aktion, semantische Bedeutung und Einhaltung der Standardbibliothek. Die optimale Reihenfolge hängt vom Zweck der Funktion, den Parametertypen, möglichen Verwirrungen und Sprachkonventionen ab.

Der Schlüssel zum Schreiben effizienter und wartbarer Java-Funktionen ist: Halten Sie es einfach. Verwenden Sie eine aussagekräftige Benennung. Bewältigen Sie besondere Situationen. Nutzen Sie entsprechende Sichtbarkeit.

1. Die SUMME-Funktion wird verwendet, um die Zahlen in einer Spalte oder einer Gruppe von Zellen zu summieren, zum Beispiel: =SUMME(A1:J10). 2. Die Funktion AVERAGE wird verwendet, um den Durchschnitt der Zahlen in einer Spalte oder einer Gruppe von Zellen zu berechnen, zum Beispiel: =AVERAGE(A1:A10). 3. COUNT-Funktion, die verwendet wird, um die Anzahl der Zahlen oder Texte in einer Spalte oder einer Gruppe von Zellen zu zählen, zum Beispiel: =COUNT(A1:A10) 4. IF-Funktion, die verwendet wird, um logische Urteile auf der Grundlage spezifizierter Bedingungen zu treffen und die zurückzugeben entsprechendes Ergebnis.

Zu den Vorteilen von Standardparametern in C++-Funktionen gehören die Vereinfachung von Aufrufen, die Verbesserung der Lesbarkeit und die Vermeidung von Fehlern. Die Nachteile sind eingeschränkte Flexibilität und Namensbeschränkungen. Zu den Vorteilen variadischer Parameter gehören unbegrenzte Flexibilität und dynamische Bindung. Zu den Nachteilen gehören eine größere Komplexität, implizite Typkonvertierungen und Schwierigkeiten beim Debuggen.

Zu den Vorteilen von Funktionen, die Referenztypen in C++ zurückgeben, gehören: Leistungsverbesserungen: Durch die Übergabe als Referenz wird das Kopieren von Objekten vermieden, wodurch Speicher und Zeit gespart werden. Direkte Änderung: Der Aufrufer kann das zurückgegebene Referenzobjekt direkt ändern, ohne es neu zuzuweisen. Einfachheit des Codes: Die Übergabe als Referenz vereinfacht den Code und erfordert keine zusätzlichen Zuweisungsvorgänge.

Der Unterschied zwischen benutzerdefinierten PHP-Funktionen und vordefinierten Funktionen ist: Umfang: Benutzerdefinierte Funktionen sind auf den Umfang ihrer Definition beschränkt, während auf vordefinierte Funktionen im gesamten Skript zugegriffen werden kann. So definieren Sie: Benutzerdefinierte Funktionen werden mit dem Schlüsselwort function definiert, während vordefinierte Funktionen vom PHP-Kernel definiert werden. Parameterübergabe: Benutzerdefinierte Funktionen empfangen Parameter, während vordefinierte Funktionen möglicherweise keine Parameter erfordern. Erweiterbarkeit: Benutzerdefinierte Funktionen können nach Bedarf erstellt werden, während vordefinierte Funktionen integriert sind und nicht geändert werden können.
