PHP : Loop in een multidimensional associative array

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
helmuteke
Premium Member
Premium Member
Berichten: 568
Lid geworden op: 08 feb 2010, 15:36
Uitgedeelde bedankjes: 3 keer
Bedankt: 27 keer

Doordat ik geen vragen meer mag stellen in stackoverflow , is er mss hier iemand die me kan helpen.
Heb al veel doorgelezen maar het lukt me niet om een Foreach te doen voor onderstaande array

Dit is de dump van de array :

Code: Selecteer alles

 Array ( [0] => Array ( [datum] => 20-03-2017 [soort] => unavailability [reden] => Vakantie [gepstart] => 09:00:00 [gepstop] => 16:36:00 [actstart] => 09:00:00 [actstop] => 16:36:00 ) [1] => Array ( [datum] => 21-03-2017 [soort] => shift [reden] => [gepstart] => 09:00:00 [gepstop] => 17:00:00 [actstart] => 09:00:00 [actstop] => 16:30:00 ) [2] => Array ( [datum] => 21-03-2017 [soort] => break [reden] => [gepstart] => 12:30:00 [gepstop] => 13:00:00 [actstart] => 12:30:00 [actstop] => 13:00:00 ) [3] => Array ( [datum] => 22-03-2017 [soort] => shift [reden] => [gepstart] => 08:30:00 [gepstop] => 16:30:00 [actstart] => 08:30:00 [actstop] => 17:30:00 ) [4] => Array ( [datum] => 22-03-2017 [soort] => break [reden] => [gepstart] => 12:30:00 [gepstop] => 13:00:00 [actstart] => 12:30:00 [actstop] => 13:00:00 ) [5] => Array ( [datum] => 23-03-2017 [soort] => shift [reden] => [gepstart] => 08:00:00 [gepstop] => 16:30:00 [actstart] => 08:00:00 [actstop] => 16:30:00 ) [6] => Array ( [datum] => 23-03-2017 [soort] => break [reden] => [gepstart] => 12:30:00 [gepstop] => 13:00:00 [actstart] => 12:30:00 [actstop] => 13:00:00 ) [7] => Array ( [datum] => 24-03-2017 [soort] => shift [reden] => [gepstart] => 09:30:00 [gepstop] => 17:00:00 [actstart] => 09:00:00 [actstop] => 17:00:00 ) [8] => Array ( [datum] => 24-03-2017 [soort] => break [reden] => [gepstart] => 12:30:00 [gepstop] => 13:00:00 [actstart] => 12:30:00 [actstop] => 13:00:00 ) [9] => Array ( [datum] => 25-03-2017 [soort] => unavailability [reden] => Thuis [gepstart] => 07:00:00 [gepstop] => 07:00:00 [actstart] => [actstop] => ) [10] => Array ( [datum] => 26-03-2017 [soort] => unavailability [reden] => Thuis [gepstart] => 07:00:00 [gepstop] => 07:00:00 [actstart] => [actstop] => ) ) 
Nu zou ik een foreach loop willen van deze array waarin ik telkens dan een volledige print maakt van de elementen
vb 0 - datum - soort -. . . . .
1 - datum - soort - . . . . .

nu de print kan ik wel zelf coderen maar die foreach lukt echt niet

Alvast bedankt
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

http://php.net/manual/en/control-structures.foreach.php

Wat je zoekt is het stukje... Unpacking nested arrays with list().
Gebruikersavatar
raf1
Elite Poster
Elite Poster
Berichten: 5780
Lid geworden op: 17 nov 2009, 22:39
Uitgedeelde bedankjes: 261 keer
Bedankt: 1770 keer
Recent bedankt: 10 keer

Gaat dat zo ook niet:

Code: Selecteer alles

foreach ($mijnarray as $element => $data) {
    echo $element . " - " . $data['datum'] . " - " . $data['soort'] . " - " . $data['reden'] . " - " . $data['gepstart'] . " - " . $data['gepstop'] . " - " . $data['actstart'] . " - " . $data['actstop'] . "\r\n";
}
helmuteke
Premium Member
Premium Member
Berichten: 568
Lid geworden op: 08 feb 2010, 15:36
Uitgedeelde bedankjes: 3 keer
Bedankt: 27 keer

raf1 schreef:Gaat dat zo ook niet:

Code: Selecteer alles

foreach ($mijnarray as $element => $data) {
    echo $element . " - " . $data['datum'] . " - " . $data['soort'] . " - " . $data['reden'] . " - " . $data['gepstart'] . " - " . $data['gepstop'] . " - " . $data['actstart'] . " - " . $data['actstop'] . "\r\n";
}
Dit deed het . Nu toch eens zoeken waar ik fout zat.

Nu is de volgende stap om deze array te hergroeperen.

ipv

Code: Selecteer alles

0 - 20-03-2017 - unavailability - Vakantie - 09:00:00 - 16:36:00 - 09:00:00 - 16:36:00 
1 - 21-03-2017 - shift - - 09:00:00 - 17:00:00 - 09:00:00 - 16:30:00 
2 - 21-03-2017 - break - - 12:30:00 - 13:00:00 - 12:30:00 - 13:00:00 
3 - 22-03-2017 - shift - - 08:30:00 - 16:30:00 - 08:30:00 - 17:30:00 
4 - 22-03-2017 - break - - 12:30:00 - 13:00:00 - 12:30:00 - 13:00:00 
5 - 23-03-2017 - shift - - 08:00:00 - 16:30:00 - 08:00:00 - 16:30:00 
zou ik deze wensen

Code: Selecteer alles

20-03-2017	- 0 - unavailability - Vakantie - 09:00:00 - 16:36:00 - 09:00:00 - 16:36:00 
21-03-2017	- 0 - shift - - 09:00:00 - 17:00:00 - 09:00:00 - 16:30:00 
			- 1 - break - - 12:30:00 - 13:00:00 - 12:30:00 - 13:00:00
22-03-2017  - 0 - shift - - 08:30:00 - 16:30:00 - 08:30:00 - 17:30:00 
			- 1 - break - - 12:30:00 - 13:00:00 - 12:30:00 - 13:00:00 
nu moet dit lukken met een soort van usort , dus effe zoeken

of lui als ik ben weten jullie mss dit ook . . .

EDIT : of zoals dit een beetje :
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

Of gewoon een nested foreach ?

Code: Selecteer alles

foreach ($mijnarray as $element => $mijndata) {
  echo $element;
  foreach ($mijndata as $data) {
    echo " - " . $data ;
  }
  echo "\r\n";
}
Plaats reactie

Terug naar “Development”