Uksort()
uksort
(PHP 4, PHP 5, PHP 7, PHP 8)
uksort — Sortera en array efter nycklar med en användardefinierad jämförelsefunktion
Beskrivning
uksort(array &$array, callable $callback): true
Sorterar en array på plats efter nycklar med hjälp av en användarlevererad jämförelsefunktion för att bestämma ordningen.
Notera:
Om två medlemmar jämförs som lika behåller de sin ursprungliga ordning. Före PHP 8.0.0 var deras relativa ordning i den sorterade arrayen odefinierad.
Notera:
Återställer arrayens interna pekare till det första elementet.
Parametrar
- array
- Den array som ska sorteras.
- callback
- Jämförelsefunktionen måste returnera ett heltal mindre än, lika med, eller större än noll om det första argumentet anses vara respektive mindre än, lika med, eller större än det andra.
callback(mixed $a, mixed $b): int
Varning: Att returnera icke-heltalsvärden från jämförelsefunktionen, såsom float, kommer att resultera i en intern typomvandling till int av callback:ens returvärde. Så värden som 0.99 och 0.1 kommer båda att omvandlas till ett heltalsvärde av 0, vilket kommer att jämföra sådana värden som lika.
Returvärden
Returnerar alltid true.
Ändringslogg
- Version Beskrivning
- 8.2.0 Returtypen är nu true; tidigare var det bool.
- 8.0.0 Om callback förväntar sig att en parameter ska passeras som referens kommer denna funktion nu att ge ut ett E_WARNING.
Exempel
Exempel #1 uksort()-exempel
<?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"; } ?>
Exemplet ovan kommer att skriva ut:
an apple: 3 a banana: 4 the Earth: 2 John: 1
Se även
- usort() - Sorterar en array efter värden med en användardefinierad jämförelsefunktion
- uasort() - Sorterar en array med en användardefinierad jämförelsefunktion och bibehåller indexassociation
- Sortering av Arrayer - Jämförelse av arraysorteringsfunktioner