Uksort()

Från Wiki.linux.se
Version från den 11 augusti 2024 kl. 05.39 av Admin (diskussion | bidrag) (Skapade sidan med '== uksort == (PHP 4, PHP 5, PHP 7, PHP 8) uksort — Sortera en array efter nycklar med en användardefinierad jämförelsefunktion == Beskrivning == <pre> uksort(array &$array, callable $callback): true </pre> 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 de...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

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
Jämförelse av arraysorteringsfunktioner