update item in een array
Dat herschrijven lukt, maar ik wil het item in de orginele array overschrijven.
Dat lukt niet. De datum heet $item['pubdate'].
Code (php)
1
2
3
4
2
3
4
foreach ($items as $item) :
/*definieren vars om nieuwe datum te schrijven zijn weggelaten hier */
$item['pubdate'] = "$jaar-$newmaand-$newdag"; // hier zit het probleem,
/*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?
Simpele oplossing is terug verwijzen naar de oorspronkelijke array, $items, en dan de index gebruiken om bij dat ene item te komen.
Code (php)
En strrev, gaat wel mis toch?
als je 01-05-2010 strrev doet, dan wordt het toch 0102-50-10 ?
(volgens de manual is het :
ja, die had ik er alleen maar even in staan om te laten zien dat $items op deze manier wel verandert. :)
Quote:
(niet helemaal waar, maar het werkt wel volgens dat idee)
Hoe werkt het dan wel precies?
Of bedoel je gewoon dat objecten als referentie worden gegeven en de rest als klonen?
Die implode is idd handig! veel makkelijker dan losse substr, maar ik heb ze toch nog nodig verderop tijdens de output! Thanks!
Pim de Haan op 11/06/2010 10:36:49:
Hoe werkt het dan wel precies?
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.
Gewijzigd op 11/06/2010 10:46:03 door Jelmer -
Dank jullie wel!