Pagina 1 van 1

PHP : Loop in een multidimensional associative array

Geplaatst: 31 maa 2017, 10:51
door helmuteke
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

Re: PHP : Loop in een multidimensional associative array

Geplaatst: 31 maa 2017, 11:18
door ubremoved_539
http://php.net/manual/en/control-structures.foreach.php

Wat je zoekt is het stukje... Unpacking nested arrays with list().

Re: PHP : Loop in een multidimensional associative array

Geplaatst: 31 maa 2017, 11:21
door raf1
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";
}

Re: PHP : Loop in een multidimensional associative array

Geplaatst: 31 maa 2017, 11:41
door helmuteke
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 :

Re: PHP : Loop in een multidimensional associative array

Geplaatst: 31 maa 2017, 11:50
door ubremoved_539
Of gewoon een nested foreach ?

Code: Selecteer alles

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