f1manager: define

Hi!

<?
define ("_t1","bla");
define ("_t2","bla2");
...

$array=array("t1","t2"....); //Der Array existiert im Orginalskript schon, die Zeile steht hier nur zur Verdeutlichung!

foreach ($array as $text)
{

}

?>

Das ist jetzt grob ein Beispiel für meine Erklärung:

also ich hab ne datei wo paar sachen definiert sind, t1 und t2 sind jetzt einfach mal Beispiele. Außerdem hab ich noch einen Array wo ein Paar Werte drinstehen:
$array[..]=t1;
$array[...]=t2;

Mit einer foreach-Schleife lass ich nun alle Werte des Arrays durchlaufen und alle Werte ausgeben lassen:
Dies wäre ja mit echo $text; zu machen. Jetzt möchte ich aber nicht $text ausgeben, sondern den dazugehörigen definierten Wert.
Also wenn in der Foreach-Schleife $text=t1 ist dann soll bla ausgegeben werden.

Hab schon einiges probiert:
$zusatz="_".$text;
echo $zusatz;
echo $$zusatz;

klappt alles nicht!

Habt ihr ne Idee?

Thomas

  1. Moin,

    $zusatz="_".$text;

    Der hier sollte es tun:
    echo constant($zusatz);

    Gruß, Uschi

  2. Hallo f1manager,

    Also wenn in der Foreach-Schleife $text=t1 ist dann soll bla ausgegeben werden.

    constant() sollte helfen:
      echo constant('_'.$text);
    (ggf. noch mit defined() prüfen ob die Konstante auch existiert).

    Grüße aus Nürnberg
    Tobias