![]() |
Låt oss säga att jag har en array enligt exemplet nedan:
Kod:
$player[0]['name'] = 'Björn'; Kod:
for($i = 0; $i sizeof($player); $i++){ Låt oss säga att jag skulle vilja få ut det hela enligt bokstavsordning, eller att det sorteras ut efter id eller nr. Hur gör jag då? Jag har lekt med array_multisort utan direkt lyckade resultat. Någon som kan ge ett exempel? |
|
Det är inga problem alls:
Kod:
$player = array(); |
Citat:
|
Citat:
Det första du gör (foreach) är att skapa referensarrayer för att få fram kolumnerna som du kan sortera utifrån. Sedan sorterar du $player ASC (stigande) utifrån referensarrayen $name o.s.v. för de andra sorteringskolumnerna. Kan inte påstå att jag är riktigt haj på det där, men jag vet att det fungerar om man gör som jag visade. :) |
Citat:
Lösningen verkar en aning komplicerad, men funkar det så funkar det. :) Tack så mycket. Någon annan som har mer att tillägga så får ni gärna göra det, för att reda upp detta ännu mer. T.ex. Måste man verkligen skapa en referennsearray? En annan fråga som har med det hela att göra. Finns det någon skillnad på att skapa arrayen $player[$i]['name'] och $player['name'][$i], rent tekniskt då. Fördelar och nackdelar? |
Även om du efterfrågar hjälp med multisort tycker jag att usort är en bättre lösning (eftersom jag misstänker att du vill hålla ihop datat).
Kod:
function compare_helper($a, $b) { |
Citat:
|
Citat:
Tar upp denna tråden då det har uppkommit en fråga till. Sorteringen fungerade bra men! (alltid ett men... :)) Kod:
$player[0]['name'] = 'Björn'; Så att om två st heter Anna, så skall andra sorteringen ske efter id. ex. Anna, id 1 Anna, id 2 Som det är nu kan det mycket möjligt bli tvärtom. Tack för visat intresse! |
Om du utgår ifrån mitt exempel med usort så behöver du ju bara skapa en till compare funktion som du använder.
Kod:
function compare_name_id($a, $b) { |
Citat:
Jag fattar koden, men ser inte hur jag skall utveckla den för att sortera fler nivåer eller vad man kan kalla det. Orkar du ge ett exempel där du sorterar ut enligt namn sedan id och sist men icke minst nr? |
Hittade tillsut en bra sida som förklarar det hela:
http://www.the-art-of-web.com/php/sortarray/ Tack alla som hjälp! Ha det najs! |
Alla tider är GMT +2. Klockan är nu 22:57. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson