[Variablen] konstante aus string

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Variablen] konstante aus string

    hallo,

    ich hab da einen string in dem der name einer konstante liegt.
    PHP-Code:
    $string="TAB_CGG"
    wie kann ich nun den inhalt von $string als konstantenname behandeln, d.h. den inhalt der konstante ausgeben?

    ich weis nicht genau nach was ich suchen soll. hab schon in einigen templateklassen nachgesehn, aber nicht wirklich was zu _dem_ thema gefunden.
    MfG
    aim
    Lies mich jetzt!
    - OT-Tags-Liebhaber und BB-Code-Einrücker -

  • #2
    das sollte so funzen:
    PHP-Code:
    $string="TAB_CGG";
    echo $
    $string

    Kommentar


    • #3
      er will den Inhalt der KONSTANTEN ausgeben

      Kommentar


      • #4
        Glaube nicht dass das direkt geht, wie bei variablen Variablen. Habe die Problemstellung allerdings auch noch nie gehabt, so dass ich mir darum auch noch keine Gedanken machen musste;-)

        Dein Problem müsste aber über die Funktionn get_defined_constants() zu lösen sein.

        gruss
        Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

        Kommentar


        • #5
          upsa,
          stimmt, dass funzt natürlich nur mit Variablen.
          Wie wäre es mit so etwas:
          PHP-Code:
          $GLOBALS['_TEST'] = "hallole";
           
          $str "_TEST";
           echo 
          $GLOBALS[$str]; 

          Kommentar


          • #6
            @eintrachtemil: Die Lösung ist nicht schlecht!

            @bitesser: wo ist da die Konstante?

            Kommentar


            • #7
              $GLOBALS['_TEST'] = "hallole";
              Unter einer Konstanten verstehe ich was anderes...
              Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

              Kommentar


              • #8
                @eintrachtemil: der ansatz ist super. werd mich gleich mal ranmachen

                @bitesser:
                PHP-Code:
                define('KONSTANTE','foo');
                echo 
                KONSTANTE
                MfG
                aim
                Lies mich jetzt!
                - OT-Tags-Liebhaber und BB-Code-Einrücker -

                Kommentar


                • #9
                  PHP-Code:
                  $konstantenname "MEINE_KONSTANTE";
                  eval(
                  '$inhalt = '.$konstantenname.';');
                  echo 
                  $inhalt
                  Kurz und Schmerzlos
                  Zuletzt geändert von EEBKiller; 21.09.2005, 11:24.

                  Kommentar


                  • #10
                    mir wird immer gesagt: eval is evil.
                    MfG
                    aim
                    Lies mich jetzt!
                    - OT-Tags-Liebhaber und BB-Code-Einrücker -

                    Kommentar


                    • #11
                      Ich sag mal so, eval ist evil, wenn man sich auf Usereingaben verlässt. Wenn man aber wie hier garnicht erst eine Usereingabe verwendet, kann es auch nicht evil sein

                      PHP-Code:
                      eval('$inhalt = MEINE_KONSTANTE;');
                      echo 
                      $inhalt
                      So zum Beispiel hat man nicht mal Ansatzweise die Chance, was zu Manipulieren. Und bevor ich ein Array nach meiner Konstante durchsuche, nehm ich den Zweizeiler dort und gut ist.

                      Kommentar


                      • #12
                        Original geschrieben von EEBKiller
                        Wenn man aber wie hier garnicht erst eine Usereingabe verwendet
                        ..., dann brauche ichauch kein eval
                        PHP-Code:
                        define('TEST''hallo');
                        $konstante 'TEST';

                        eval(
                        '$inhalt = '.$konstante.';');
                        echo 
                        $inhalt
                        und
                        PHP-Code:
                        define('TEST''hallo');
                        $inhalt TEST;
                        echo 
                        $inhalt
                        kommt doch aufs gleiche raus...
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          define($foo, 'inhalt'); funzt nicht?
                          EDIT:
                          Ach, ich Depp - es soll ja die Konstante mit dem Namen ausgegeben werden....
                          Zuletzt geändert von prego; 21.09.2005, 12:22.

                          Kommentar

                          Lädt...
                          X