Sortering av Arrayer: Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
(2 mellanliggande sidversioner av samma användare visas inte) | |||
Rad 14: | Rad 14: | ||
! Funktionsnamn !! Sorterar efter !! Bibehåller nyckelassociation !! Sorteringsordning !! Relaterade funktioner | ! 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() | | [[array_multisort()]]|| värde || strängnycklar ja, int nycklar nej || första arrayen eller sorteringsalternativ || [[array_walk()]] | ||
|- | |- | ||
| [[asort()]]|| värde || ja || stigande || arsort() | | [[asort()]]|| värde || ja || stigande || [[arsort()]] | ||
|- | |- | ||
| [[arsort()]]|| värde || ja || fallande || asort() | | [[arsort()]]|| värde || ja || fallande || [[asort()]] | ||
|- | |- | ||
| krsort() || nyckel || ja || fallande || ksort() | | [[krsort()]]|| nyckel || ja || fallande || [[ksort()]] | ||
|- | |- | ||
| ksort() || nyckel || ja || stigande || krsort() | | [[ksort()]]|| nyckel || ja || stigande || [[krsort()]] | ||
|- | |- | ||
| natcasesort() || värde || ja || naturlig, skiftlägesokänslig || natsort() | | [[natcasesort()]]|| värde || ja || naturlig, skiftlägesokänslig || [[natsort()]] | ||
|- | |- | ||
| natsort() || värde || ja || naturlig || natcasesort() | | [[natsort()]]|| värde || ja || naturlig || [[natcasesort()]] | ||
|- | |- | ||
| rsort() || värde || nej || fallande || sort() | | [[rsort()]]|| värde || nej || fallande || [[sort()]] | ||
|- | |- | ||
| 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() |