Ik heb een array waarin in de datum wil herschrijven van 01-05-2010 naar 2010-05-01.
Dat herschrijven lukt, maar ik wil het item in de orginele array overschrijven.
Dat lukt niet. De datum heet $item['pubdate'].
foreach ($items as $item) :
/*definieren vars om nieuwe datum te schrijven zijn weggelaten hier */
$item['pubdate'] = "$jaar-$newmaand-$newdag"; // hier zit het probleem,
Ik zou denken: dit overschrijft in de array de oude waarde. Maar dat is niet zo.
Google op update array item etc levert me niet genoeg op.
Wie helpt?
$items is een array met arrays, en die arrays die daarin zitten wil je aanpassen neem ik aan? De foreach-lus maakt een kopie van zo'n item (niet helemaal waar, maar het werkt wel volgens dat idee) dus als je $item aanpast, pas je de kopie aan.
Simpele oplossing is terug verwijzen naar de oorspronkelijke array, $items, en dan de index gebruiken om bij dat ene item te komen.
<?php
PHP maakt volgens mij in eerste instantie gewoon een reference naar het item uit de array maar zodra je hem aanpast wordt er een kopie gemaakt met daarin de aanpassing. Zie dit artikel.