[PHP] Array opsplitsen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • J_Davelaar
  • Registratie: Maart 2001
  • Laatst online: 19-03 13:31
Ik ben een php script aan het schrijven om kinderen die met hun zeil diploma's bezig zijn automatisch op te laten splitsen in groepen op niveau. Een probleem hierbij is, is dat het niet om 1 diploma gaat maar om 3 (CWO kb1, kb2 en kb3).

Ik het al een code die de geselecteerde leden sorteer op niveau en diploma. De gegevens heb ik dan in 2 arrays: 1 met de leden gesorteerd op niveau en 1 die aangeeft hoeveel leden er voor de diploma's opgaan.

V.b.
array( [0] => 32, [1] => 43, [2] => 12, .....enz)

array( [0] => 13, [1] => 4, [2] => 3)

Nu wil ik de leden verdelen in een multi array. Die lees ik dan uit in mijn print pagina met een for() met een count erin. Zo maak ik het goede aantal pagina's. Het opsplitsen naar een aantal personen per boot is nog geen probleem. Dit doe ik met een array_slice en een array die aangeeft hoeveel personen er in een boot moeten.

Het probleem is dat er nu in een boot mensen kunnen zitten die voor CWO kb1 gaan en mensen die voor CWO kb2 gaan. Als er weinig mensen zijn kunnen er zelfs nog mensen met CWO kb3 bij zitten.
Om in de uitvoer pagina wel de juiste lijst met eisen weer te geven moeten die mensen weer gescheiden worden in losse arrays die dus een ander diploma weergeven.
Ik heb hier al wel wat voor geschreven maar dit is niet echt efficient of netjes. Als er vraag naar is kan ik dat wel posten maar het is nog al lang. Heeft iemand een idee hoe ik dit netjes aan kan pakken

Was ik maar een punt dan was ik het einde


Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Het wordt mij niet helemaal duidelijk hoe je je data hebt opgebouwd/ wil opbouwen.

Je hebt een array met leden, en die leden hebben een nivo,
dus(????):

$leden=array('pietje' => 1,'fritsje' => 2, 'jantje'=>2) enz.

waarbij het getal staat voor het nivo..
vervolgens gaan alle mensen met nivo 2 op voor 'kb2' ?

dan zou je een array kunnen bouwen met mensen voor KB2 als volgt
PHP:
1
2
3
4
5
6
$kb2=array();
foreach($leden as $naam=>$nivo){
   if($nivo==2){
        $kb2[]=$naam;
   }
}


vervolgens kun je die $kb2 array dan opdelen in stukjes per boot

Is dit je concept?