[PHP] String toevoegen aan values van array lukt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Ik heb een eenvoudigige array en wil aan elke waarde een string toevoegen. Als volgt:
code:
1
2
3
4
5
6
7
8
Array
(
    [files/] => files
    [files/css/] => files/css/
    [files/doc/] => files/doc/
    [files/js/] => files/js/
    [files/swf/] => files/swf/
)
PHP:
1
2
3
4
5
foreach ($options as $key => $value) {
  $value = 'verplaats naar: ' . $value;
}

print_r($options);

De values van $options veranderen echter niet. Ik heb al verschillende mogelijkheden geprobeerd in regel 2, maar niets levert een ander resultaat op. Ben ik nu gek? Je zou de values toch gewoon zo moeten kunnen updaten?

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 21:18

crisp

Devver

Pixelated

Note: Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Nee, je 'exporteert' de waardes uit je array, ze komen er dan NIET meer in terug ofzo..

Kzou gewoon met een for-loopje werken als ik jou was :)

Oh, het kan dus wel, met references ofzo.. Naja, nooit mee bezig gehouden :+

[ Voor 26% gewijzigd door Osiris op 12-10-2005 19:13 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

nee, want foreach maakt een kopie van de array, zoals je kunt lezen op php.net

wat je kunt doen is

$options[$key] = 'bla' . $value;

of je foreach aanpassen dat ie references meegeeft:

foreach ($options as $key => &$value) {
...
}

Van dat laatste werkt geloof ik pas in PHP5 (las hem toevallig ergens hier op het forum van de week ;))

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP:
1
2
3
foreach ($options as $key => $value) {
  $options[$key] = 'verplaats naar: ' . $value;
}

Vies? Misschien. Effectief? Zeker. :P

References zijn trouwens inderdaad waarschijnlijk beter. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Osiris schreef op woensdag 12 oktober 2005 @ 19:13:
Oh, het kan dus wel, met references ofzo.. Naja, nooit mee bezig gehouden :+
Zit er -relatief gezien- nog maar sinds kort in hoor. ;)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1