Sortering av Arrayer
Version från den 11 augusti 2024 kl. 05.35 av Admin (diskussion | bidrag)
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() |