PHP array sorting

Pagina: 1
Acties:

  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
Hoi luitjes,

ik zit in een klein knoopje met php. Even de situatie:
ik heb een array dat bestaat uit een aan aantal andere arrays met een aantal items erin. Nu wil ik de volledige grote array (diegene met alle andere arrays erin) sorteren op basis van een waarde in de kleine array. Ja hebt we 'm nog :)
Oke, dit is waarschijnlijk een fluitje van een eitje, maar ik kom er maar niet op.

bedankt alvast

Verwijderd

je hebt dus allerlei kleinere arrays, in een grote gedouwd, en nu wil je die kleinere arrays gaan sorteren, als ik t goed begrijp.

punt 1:
wil je de kleinere sorteren en daarna de arrays waar die kleinere inzitten ook sorteren, en daarna waar die arrays in zitten ook weer sorteren etc.
punt 2:
is er een array die als reference moet fungeren omdat de values in array2 relationeel verbonden zijn aan de values in array1?

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 09-09 22:53

HenkS

Da_king alias HenkS

variabele uit de kleine array ff in een gewone var zetten en dan gewoon op php.net bij array functies kijken :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier


  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
Puntje 1: Nee, het gaat om het volgende:

$array[0]["id"] = 1001;
$array[1]["id"] = 1002;
$array[2]["id"] = 1005;
$array[3]["id"] = 1003;

id is dus een van de vele sleutels in de onderliggende arrays. Het gaat er nu om om de volledige array, te sorteren op basis van de id sleutel in de ondergelegen arrays.
Puntje 2: Er is geen array die als reference is te gebruiken. Het is eigenlijk gewoon numbersorting, maar ik krijg dit maar niet voor mekaar.

Ik hoop dat dit het wat duidelijker maakt. :?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

Dan moet je gewoon ff bij de 2e link van ACM kijken. Dit is een sorteer functie waarvoor je zelf je sorteercriterium kunt definieren. Het enige wat je dan nog hoeft te doen is een functie maken die 2 elementen uit de grote array (dus 2 kleine arrays) met elkaar vergelijkt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
oke dan, thnkz.
Ik heb die functie echt even gemist. Dat is toch best wel een krachtige functie, alleen de mogelijkheden worden nogal matig uitgelegd in het php manueeltje. Het werkt nu dan alsnog met maar 3 regeltjes code.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Op vrijdag 19 april 2002 00:52 schreef arcadis het volgende:
Ik heb die functie echt even gemist. Dat is toch best wel een krachtige functie,
Je weet dat dit in een groot deel van de veelgebruikte programmeertalen de meest eenvoudige soorteerprocedure is die er bestaat? Met een procedure als PHP 'sort' kun je echt alleen in maar in uitzonderingssituaties uit de voeten.

Als je trouwens je id als id wil gebruiken (wat blijkbaar het geval is omdat je er op wil sorteren) zou je natuurlijk kunnen overwegen die id als key te gebruiken. Dat maakt je datastructuur een stuk logischer en dan kun je simpelweg met ksort sorteren. Nu initialiseer je een datastructuur met een ordening geen betekenis heeft en na sorteren enkel overeenkomt met de ordening van id's. Dat is natuurlijk geen optimale oplossing.
Pagina: 1