Einführung in 13 Array-Sortierfunktionen in PHP

不言
Freigeben: 2023-04-03 10:50:02
Original
1875 Leute haben es durchsucht

Der Inhalt, der in diesem Artikel mit Ihnen geteilt wird, befasst sich mit der PHP-Array-Sortierfunktion. Freunde in Not können sich darauf beziehen.

  • Wenn die Funktion u enthält, können Sie die Vergleichsfunktion anpassen. Wenn k vorhanden ist, können Sie sie nach Schlüssel sortieren. umgekehrt), es wird in umgekehrter Reihenfolge sein; wenn r vorhanden ist, muss eine Schlüsselwertzuordnung vorhanden sein, mit Ausnahme von a(association) rsort() usort() sort(), alles andere ohne shuffle() ist ein Schlüsselwert Zuordnung. a Schlüsselwertzuordnung wird beibehalten, numerische Typen werden jedoch nicht beibehalten. array_multisort()

  • Alle folgenden Sortierfunktionen wirken direkt auf das Array selbst, anstatt ein neues geordnetes Array zurückzugeben.

  • Für die folgenden Funktionen ist die Reihenfolge gleicher Elemente im Array nach der Sortierung undefiniert. (Das heißt, die Reihenfolge zwischen gleichen Elementen ist instabil, d. h. das Ergebnis jeder Sortierung von Elementen mit demselben Wert ist ungewiss (assoziatives Array)). php7

    asort arsort hat eine stabile Sortierung erreicht, php5 hat eine stabile Sortierung erreicht: http://php.net/manual/zh/func...uasort

  • im Paar Seien Sie beim Sortieren von Arrays mit Werten gemischter Typen vorsichtig, da sort() zu unvorhersehbaren Ergebnissen führen kann.

1.array_multisort

  • kann zum gleichzeitigen Sortieren mehrerer Arrays oder zum Sortieren mehrdimensionaler Arrays nach einer bestimmten Dimension verwendet werden oder mehrere Dimensionen.

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
Nach dem Login kopieren
Flag Typ sortieren:

  • SORT_REGULAR (Standard) – Elemente auf übliche Weise vergleichen (Typ nicht ändern, unterscheiden). Größe schreiben, Großbuchstaben werden vor Kleinbuchstaben sortiert)

  • SORT_NUMERIC – nach numerischer Größe vergleichen

  • SORT_STRING – nach Zeichenfolge vergleichen ( größensensitives Schreiben)

  • SORT_LOCALE_STRING – Vergleichen Sie Zeichenfolgen basierend auf den aktuellen Lokalisierungseinstellungen. Es verwendet Gebietsschemainformationen, die über setlocale() geändert werden können.

  • SORT_NATURAL – „natürliche Reihenfolge“ von Strings, ähnlich wie natsort()

  • SORT_FLAG_CASE – kann kombiniert werden (bitweise ODER) SORT_STRING Oder SORT_NATURAL um Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung zu sortieren.

  • 1.1 Wenn mehrere Array-Parameter vorhanden sind, wird

    nach dem Ergebnis von $array2 sortiert, wie MySQLs $array1group by

  • 1.2 Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung:

$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array); // 先复制一个转为小写数组

array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);   // 先对小写数组排序,再排序原数组

print_r($array);
Nach dem Login kopieren
  • 1.3 Datenbankergebnisse sortieren

function array_orderby()
{
    $args = func_get_args();
    $data = array_shift($args);
    foreach ($args as $n => $field) {
        if (is_string($field)) {
            $tmp = array();
            foreach ($data as $key => $row)
                $tmp[$key] = $row[$field];
            $args[$n] = $tmp;
            }
    }
    $args[] = &$data;
    call_user_func_array('array_multisort', $args);
    return array_pop($args);
}
Nach dem Login kopieren
2.sort

  • Löschen Sie den ursprünglichen Schlüsselnamen, um das Array (Reihenfolge) zu sortieren

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Nach dem Login kopieren
  • Sortierergebnisse sind die gleichen wie sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);. natcasesort()

3.rsort

  • Array umkehren sortieren

bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Nach dem Login kopieren
4.asort

  • Behalten Sie die Schlüssel-Wert-Zuordnung bei. Wird hauptsächlich zum Sortieren assoziativer Arrays verwendet, bei denen die Reihenfolge der Zellen wichtig ist.

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Nach dem Login kopieren
5.arsort

  • Reihenfolge umkehren und Indexbeziehung beibehalten (Zuordnung, umgekehrt)

bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Nach dem Login kopieren
6.ksort

  • Sortieren nach

    键名

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Nach dem Login kopieren
7.krsort

  • Drücken Sie

    Reihenfolge umkehren键名

bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Nach dem Login kopieren
8.usort

  • Verwenden Sie eine benutzerdefinierte Vergleichsfunktion, um

    im Array zu sortieren. to Diese Funktion sollte verwendet werden, wenn das sortierte Array nach einem ungewöhnlichen Kriterium sortiert werden muss.

bool usort ( array &$array , callable $value_compare_func )
Nach dem Login kopieren
  • Wenn $value_compare_func( mixed $a, mixed $b ) kleiner, gleich oder größer als $a ist, muss die Vergleichsfunktion einen Wert zurückgeben, der kleiner ist als entsprechend gleich oder größer als 0. $b

  • Objektattributsortierungusort($a, array("TestObj", "cmp_obj"))

9.uasort

  • Benutzerdefinierten Vergleich verwenden Funktionen sortieren Werte in einem Array und behalten die Indexzuordnung bei

bool uasort ( array &$array , callable $value_compare_func )
Nach dem Login kopieren
10.uksort

  • Benutzerdefinierte Vergleichsfunktionen für Arrays verwenden

    in 键名

bool uksort ( array &$array , callable $key_compare_func )
Nach dem Login kopieren
11.natcasesort

  • Natürliche Sortierung, die nicht zwischen Groß- und Kleinbuchstaben (Zahlen nach Buchstaben) unterscheidet), behalten Sie die bei Schlüssel-Wert-Zuordnung

bool natcasesort ( array &$array )
Nach dem Login kopieren
12.natsort

  • Verwenden Sie den Algorithmus „natürliche Sortierung“, um das Array zu sortieren, behalten Sie die Schlüssel-Wert-Zuordnung bei

bool natsort ( array &$array )
Nach dem Login kopieren
13.shuffle

  • Diese Funktion mischt (ordnet zufällig die Reihenfolge der Zellen) ein Array. Schlüsselwerte sind nicht verknüpft

bool shuffle ( array &$array )
Nach dem Login kopieren
Verwandte Empfehlungen:

Einführung in 10 häufig verwendete String-Funktionen in PHP und deren Verwendung

Das obige ist der detaillierte Inhalt vonEinführung in 13 Array-Sortierfunktionen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!