Sortering av Arrayer: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
 
(En mellanliggande sidversion av samma användare visas inte)
Rad 32: Rad 32:
| [[shuffle()]]|| värde || nej || slumpmässig || [[array_rand()]]
| [[shuffle()]]|| värde || nej || slumpmässig || [[array_rand()]]
|-
|-
| [[sort()]]|| värde || nej || stigande || rsort()
| [[sort()]]|| värde || nej || stigande || [[rsort()]]
|-
|-
| [[uasort()]]|| värde || ja || användardefinierad || uksort()
| [[uasort()]]|| värde || ja || användardefinierad || [[uksort()]]
|-
|-
| [[uksort()]]|| nyckel || ja || användardefinierad || uasort()
| [[uksort()]]|| nyckel || ja || användardefinierad || uasort()
|-
|-
| [[usort()]]|| värde || nej || användardefinierad || uasort()
| [[usort()]]|| värde || nej || användardefinierad || [[uasort()]]
|}
|}
[[Kategori:Php]]
[[Kategori:Array]]
{{DEFAULTSORT:Jämförelse av arraysorteringsfunktioner}}

Nuvarande version från 11 augusti 2024 kl. 05.35

Sortering av Arrayer

PHP har flera funktioner som hanterar sortering av arrayer, och detta dokument finns för att hjälpa till att reda ut allt.

De huvudsakliga skillnaderna är:

  • Vissa sorterar baserat på arraynycklarna, medan andra sorterar efter värdena: $array['key'] = 'value';
  • Om korrelationen mellan nycklarna och värdena bibehålls efter sorteringen, vilket kan innebära att nycklarna återställs numeriskt (0,1,2 ...)
  • Sorteringsordningen: alfabetisk, stigande (lågt till högt), fallande (högt till lågt), naturlig, slumpmässig eller användardefinierad

Notera: Alla dessa sorteringsfunktioner agerar direkt på själva arrayvariabeln, i motsats till att returnera en ny sorterad array Om någon av dessa sorteringsfunktioner bedömer två medlemmar som lika behåller de sin ursprungliga ordning. Före PHP 8.0.0 var deras ordning odefinierad (sorteringen var inte stabil).

Attribut för sorteringsfunktioner

Funktionsnamn Sorterar efter Bibehåller nyckelassociation Sorteringsordning Relaterade funktioner
array_multisort() värde strängnycklar ja, int nycklar nej första arrayen eller sorteringsalternativ array_walk()
asort() värde ja stigande arsort()
arsort() värde ja fallande asort()
krsort() nyckel ja fallande ksort()
ksort() nyckel ja stigande krsort()
natcasesort() värde ja naturlig, skiftlägesokänslig natsort()
natsort() värde ja naturlig natcasesort()
rsort() värde nej fallande sort()
shuffle() värde nej slumpmässig array_rand()
sort() värde nej stigande rsort()
uasort() värde ja användardefinierad uksort()
uksort() nyckel ja användardefinierad uasort()
usort() värde nej användardefinierad uasort()