Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in 13 Array-Sortierfunktionen in PHP

Einführung in 13 Array-Sortierfunktionen in PHP

不言
不言Original
2018-07-23 11:59:041894Durchsuche

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 $... ]]] )
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);
  • 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);
}
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 ] )
  • 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 ] )
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 ] )
5.arsort

  • Reihenfolge umkehren und Indexbeziehung beibehalten (Zuordnung, umgekehrt)

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

  • Sortieren nach

    键名

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

  • Drücken Sie

    Reihenfolge umkehren键名

bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
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 )
  • 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 )
10.uksort

  • Benutzerdefinierte Vergleichsfunktionen für Arrays verwenden

    in 键名

bool uksort ( array &$array , callable $key_compare_func )
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 )
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 )
13.shuffle

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

bool shuffle ( array &$array )
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!

Stellungnahme:
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