Uasort(): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= 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 faktisk...')
 
Rad 68: Rad 68:
== Se även ==
== Se även ==


''usort()'' - Sorterar en array efter värden med hjälp av en användardefinierad jämförelsefunktion
''[[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
''uksort()'' - Sorterar en array efter nycklar med hjälp av en användardefinierad jämförelsefunktion
[[Sortering av Arrayer]] Jämförelse av arraysorteringsfunktioner
[[Sortering av Arrayer]] Jämförelse av arraysorteringsfunktioner


[[Kategori:Array]]
[[Kategori:Array]]
[[Kategori:Php]]
[[Kategori:Php]]

Versionen från 11 augusti 2024 kl. 06.23

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