Ik heb volgenden bestaande array:
<?php
$aar = array(
0 =>
array (
'd_id' => '3',
'datum' => '2013-05-19',
'dag' => '19' ,
'naam' => 'demo',
),
1 =>
array (
'd_id' => '3',
'datum' => '2013-05-19',
'dag' => '19',
'naam' => 'demo3'
),
2 =>
array (
'd_id' => '1',
'datum' => '2013-06-01',
'dag' => '01',
'naam' => 'test',
),
3 =>
array (
'd_id' => '2',
'datum' => '2013-06-15',
'dag' => '15',
'naam' => 'test1'
)
);
?>
Wat ik naar het volgende moet hebben:
<?php
$dag = array(
19 =>
array(
array(
'd_id' => '3',
'datum' => '2013-05-19',
'dag' => '19',
'naam' => 'demo',
),
array(
'd_id' => '3',
'datum' => '2013-05-19',
'dag' => '19',
'naam' => 'demo3'
),
),
01 =>
array(
'd_id' => '1',
'datum' => '2013-06-01',
'dag' => '01',
'naam' => 'test',
),
15 =>
array(
'd_id' => '2',
'datum' => '2013-06-15',
'dag' => '15',
'naam' => 'test1'
)
);
?>
Maar weet niet hoe ik dit moet kan aanpakken.
Heb op moment:
<?php
$result = $this->childeren($aar);
var_dump($result);
/*
array (size=3)
19 =>
array (size=0)
empty
1 =>
array (size=0)
empty
15 =>
array (size=0)
empty
*/
function childeren($data) {
$arr = array();
foreach ($data as $dat) {
$ids = (int) $dat['dag'];
$arr[$ids] = array();
}
return $arr;
//var_dump($arr);
}
?>
maar hoe nu veder?
[code]<?
$dag = array();
foreach ($aar as $value) {
if (!array_key_exists($value['dag'], $dag) {
$dag[$value['dag']] = array();
}
$dag[$value['dag']][] = $value;
}
?>
bedankt voor je reactie Ger van Steenderen.
Het werkt precies hoe het moet. Als ik bekijk is het best wel logies, maar ja soms kom je er even niet op.
Simon, probeer (voor jezelf) een beetje op je spelling te letten. Het is niet "logies" maar "logisch". En kinderen in het Engels zijn geen "childeren" maar "children". Een een "mulitie array"? Daarvan moet ik de eerste nog tegenkomen ;)

Veel dingen kun je simpelweg even controleren door ze op te zoeken via Google.

Reageren