login  Naam:   Wachtwoord: 
Registreer je!
 Forum

variable variables (Opgelost)

Offline daanlaan - 10/06/2009 12:41
Avatar van daanlaanMySQL interesse ik ben iets aan het uitzoeken dat ik een nieuwe variabele kan vormen afhankelijk van de inhoud van een andere variabele
dit werkt:
  1. $txt = "hallo";
  2. $tekst_hallo = "hello world";
  3. echo ${$txt};
  4. // => hello world //


dan probeer ik dit:
  1. $txt = "hallo";
  2. $tekst_hallo = "hello world";
  3. echo $tekst_{$txt};


wat dus niets geeft
iemand een idee?

2 antwoorden

Gesponsorde links
Offline Wim - 10/06/2009 12:59 (laatste wijziging 10/06/2009 13:01)
Avatar van Wim Crew algemeen Volgens mij mag je geen variabele gebruiken in het midden van de naam. Je kan dit oplossen door met een tussenvariabele te werken:

  1. <?php
  2. $txt = "hallo";
  3. $tekst_hallo = "hello world";
  4. $varname = 'tekst_'.$txt;
  5. echo $$varname;

output: 'hello world';

In de meeste gevallen zijn variabele variabele niet echt nuttig. Waarschijnlijk maak je liever gebruik van een PHP.net: array

//edit:
met PHP.net: eval kan het ook, maar het gebruik van eval raad ik ten sterkste af!

Stond op php.net bij de comments:
Citaat:
Note that if you need a variable to being with something prior to the variable variables the expected:
$foo_{$bar} = $foobar;

Or:

$foo_$bar = $foobar;

Will not work, only solution I know of at the moment is to use eval to process it:

eval('$foo_'.$bar.' = '.$foobar.';');
Offline daanlaan - 10/06/2009 14:25
Avatar van daanlaan MySQL interesse ok bedankt heb het werkende gekregen zo ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.267s