Ik gebruik deze manier om een array te maken maar ik wil de array anders.
$array = array('Id' => $index, 'Original' => $value0, 'Timestamp' => $value1, 'Modified' => $value2);

De array ziet er nu zo uit:

Array
(
[Id] => Array
(
[0] => ID000
)
[Original] => Array
(
[0] => 123
)
[Timestamp] => Array
(
[0] => 29-4-2008
)
......Etc.

Ik wil deze aanpassen naar:

Array
(
[Id000] => Array
(
[Original] => 123
[Timestamp] => 29-4-2008
[Modified] => 456
Array
(
[Id001] => Array
(
[Original] => 234
[Timestamp] => 1-1-2015
[Modified] => 567

Ik kom er niet echt uit omdat ik niet weet hoe ik $index kan gebruiken voor het genereren van de $index values.
Er vanuit gaande dat onderstaande array de structuur beschrijft van jouw array, kan je het volgende gebruiken.

<?php

$array = array(
array('Id' => array('ID000'), 'Original' => array('123'), 'Timestamp' => array('29-4-2008'), 'Modified' => array('29-4-2008')),
array('Id' => array('ID001'), 'Original' => array('123'), 'Timestamp' => array('29-4-2008'), 'Modified' => array('29-4-2008')),
array('Id' => array('ID002'), 'Original' => array('123'), 'Timestamp' => array('29-4-2008'), 'Modified' => array('29-4-2008'))
);

$new_array = array();

foreach($array AS $val) {

foreach($val AS $key => $item) {

$new_array[$val['Id'][0]][$key] = $item[0];

}


}

print_r($new_array);

?>

Wat Arjan voorstelt gaat waarschijnlijk wel werken, maar waar ik benieuwd naar ben is: waar komt dit oorspronkelijke array vandaan? Bouw je deze ook zelf op? In dat geval zou ik die meteen goed opbouwen in plaats van eerst opbouwen en daarna omschrijven :s.
Aangepast script geschreven waar ik de array zelf opbouwde (Thanx Thomas)
volgens Arjens idee en code (Thanx Arjan).
Hierna werkte de code perfect! Dat maakt een andere functie ook een stuk makkelijker te schrijven. Twee vliegen in een klap!

Reageren