Sortering av Arrayer: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== 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: alfabeti...')
 
Ingen redigeringssammanfattning
 
(3 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()