Uasort()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

uasort

uasort — Sorterar en array på plats med en användardefinierad jämförelsefunktion samtidigt som indexassociationen bibehålls.

Beskrivning

uasort(array &$array, callable $callback): true Sorterar en array på plats så att dess nycklar behåller sin korrelation med de värden de är associerade med, genom att använda en användardefinierad jämförelsefunktion. Detta används främst när man sorterar associativa arrays där den faktiska elementordningen är signifikant.

Observera:

  • Om två medlemmar bedöms vara lika, behåller de sin ursprungliga ordning. Innan PHP 8.0.0 var deras relativa ordning i den sorterade arrayen odefinierad.
  • Återställer arrayens interna pekare till det första elementet.

Parametrar

  • array
    • Inputarrayen.
  • 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 flyttal, kommer att resultera i en intern omvandling till heltal av returvärden från callback. 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

  • 8.2.0
    • Returtypen är nu sann; tidigare var det bool.
  • 8.0.0
    • Om callback förväntar sig att en parameter ska skickas med referens kommer denna funktion nu att avge en varning.

Exempel

Exempel #1 Grundläggande uasort() exempel

```php <?php // Jämförelsefunktion function cmp($a, $b) {

   if ($a == $b) {
       return 0;
   }
   return ($a < $b) ? -1 : 1;

}

// Array att sortera $array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4); print_r($array);

// Sortera och skriv ut den resulterande arrayen uasort($array, 'cmp'); print_r($array); ?> Det ovanstående exemplet kommer att skriva ut: Array (

   [d] => -9
   [h] => -4
   [c] => -1
   [e] => 2
   [g] => 3
   [a] => 4
   [f] => 5
   [b] => 8

)

Se även

usort() - Sorterar en array efter värden med hjälp av en användardefinierad jämförelsefunktion uksort() - Sorterar en array efter nycklar med hjälp av en användardefinierad jämförelsefunktion

Sortering av Arrayer Jämförelse av arraysorteringsfunktioner

Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/function.uasort.php
PHP
Språkreferens
Språkreferens#Referenser Förklarade


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.