PHP : Loop in een multidimensional associative array

Alles over programmeren en development binnen de IT-wereld
helmuteke
Premium Member
Premium Member
Berichten: 581
Lid geworden op: 08 feb 2010, 14:36
Uitgedeelde bedankjes: 3 keer
Bedankt: 22 keer

Bericht

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, 08:17
Uitgedeelde bedankjes: 331 keer
Bedankt: 1599 keer

Bericht

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: 6134
Lid geworden op: 17 nov 2009, 21:39
Uitgedeelde bedankjes: 247 keer
Bedankt: 1684 keer
Recent bedankt: 8 keer

Bericht

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: 581
Lid geworden op: 08 feb 2010, 14:36
Uitgedeelde bedankjes: 3 keer
Bedankt: 22 keer

Bericht

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, 08:17
Uitgedeelde bedankjes: 331 keer
Bedankt: 1599 keer

Bericht

Of gewoon een nested foreach ?

Code: Selecteer alles

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