Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion

# uksort

(PHP 4, PHP 5, PHP 7, PHP 8)

uksort — Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion

### Beschreibung

function uksort(array `&$array`, callable `$callback`): true

Diese Funktion sortiert `array` nach seinen Schlüsseln unter Verwendung einer benutzerdefinierten Vergleichsfunktion, um die Reihenfolge zu bestimmen.

> Hinweis:

> Wenn zwei Mitglieder als identisch verglichen werden, behalten sie ihre ursprüngliche Reihenfolge bei. Vor PHP 8.0.0 war die relative Sortierung im sortierten Array nicht definiert.

> Hinweis:

> Setzt den internen Zeiger des Arrays auf das erste Element zurück.

### Parameter-Liste

`array`

  Das zu sortierende Array.

`callback`

  Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

  function callback(mixed `$a`, mixed `$b`): int
  Achtung

  Wenn die Vergleichsfunktion nicht-ganzzahlige Werte zurückgibt, z. B. vom Typ float, wird der Rückgabewert des Callbacks intern in den Typ int umgewandelt. Werte wie `0.99` und `0.1` werden also beide in einen Integer-Wert von `0` umgewandelt, wodurch diese Werte als gleichwertig eingestuft werden.

### Rückgabewerte

Gibt immer `true` zurück.

### Changelog

Version | Beschreibung
--- | ---
8.2.0 | Der Rückgabewert ist nun `true` vorher war es bool.
8.0.0 | Wenn `callback` einen per Referenz übergebenen Parameter erwartet, gibt diese Funktion nun einen Fehler der Stufe `E_WARNING` aus.

### Beispiele

Beispiel #1 uksort()-Beispiel

`<?php
function cmp($a, $b)
{
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
uksort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    an apple: 3
    a banana: 4
    the Earth: 2
    John: 1

### Siehe auch

- usort() - Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
- uasort() - Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Index-Assoziationen bei
- Den Vergleich von Arraysortierungsfunktionen

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open