[PHP] Array sorteren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Hai,

Ik heb problemen met het sorteren van array's
Ik heb een array, deze ziet er als volgt uit:

ur_stuff[0][0] = id item
ur_stuff[0][1] = number
ur_stuff[1][0] = id item
ur_stuff[1][1] = number
Enzovoorts

db_stuff[0][0] = record id
db_stuff[0][1] = record name
db_stuff[0][2] = record max_v
db_stuff[1][0] = record id
db_stuff[1][1] = record name
db_stuff[1][2] = record max_v
Enzovoorts

Het probleem is, dat ur_stuff[0][0] niet gelijk is aan db_stuff[0][0]
Dit is wel noodzakelijk.

Hoe moet ik de array sorteren?

Ik heb op PHP.net gezocht, maar kan niks vinden.
Ook de functie array_multisort(); biedt geen uitkomst.

Bestaat er wel zo'n functie?

Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
* Feyd-Rautha verstaat het probleem niet

Kun je eens wat inhoud van die array's posten en ook wat relevante code die je reeds geprobeerd hebt ?

En op welke indexen wil je sorten ?

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

En wat moeten de overeenkomsten zijn van de keys van beide arrays? Dus zoek je iets als ur_stuff[0][0] == db_stuff[0][0] ofzo?

[ Voor 4% gewijzigd door RedRose op 08-10-2003 10:05 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

  • JQR
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:26

JQR

Er zijn wel een aantal functies die een multidimensionaal array kunnen sorteren, maar leg eens uit wat je precies wilt sorteren en waarop. Post eens code die je gebruikt om deze array's te sorteren...

Acties:
  • 0 Henk 'm!

Verwijderd

Yep, meer info!! De vraag is te onduidelijk....

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:26

Creepy

Tactical Espionage Splatterer

En anders schrijf je zelf een functie die beide array's sorteert?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 18-09 08:38
Dit lijkt met beter op te lossen door ze gesorteerd te vullen. Post de code eens waarmee je beide arrays vult.

Oftewel: als je de eerste index bijhoudt, kan er toch niets misgaan?

[ Voor 25% gewijzigd door Limhes op 08-10-2003 11:08 ]


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Gebruik uasort.

En schrijf je eigen sorteer routine.

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 31-08 09:33
Een mooi sorteeralgoritme is heapsort (in-place en kost slechts n*log(n) tijd). Nadat je dit hebt toegepast op de eerste variabele, kun je dit binnen de tweede variabele nog per groep opnieuw toepassen. Twee keer sorteren dus, maar het moet volgens mij wel werken.

Een ander alternatief is zorgen dat je een sorteeralgortime gebruikt dat de volgorde van instances met gelijke waarden bewaard. Dat pas je dan eerst toe op de minst belangrijke sorteer-key en dan op de belangrijkste, dan zijn ze ook gesorteerd.

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress

Pagina: 1