Ankündigung

Einklappen
Keine Ankündigung bisher.

Variablenexpansion in Konstante

Einklappen

Neue Werbung 2019

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

  • Variablenexpansion in Konstante

    Hallo,

    ich habe ein kleines Problem und zwar habe ich in verschiedenen Konstanten variablen, die bei der Ausgabe der Konstante nicht expandiert werden.

    PHP-Code:
    Kleines Beispiel:

    Code:
    Kontante TEST mit Wert "$treffer results". 
    Ausgabe in Form, im Variablenkontext ist: "$treffer results".
    Leider erhalte ich nicht den Wert der Variable sondern den Namen mit $.
    Leider konnte ich hierzu nicht viel finde. Schon mal vielen Dank im voraus.


  • #2
    Kannst du mal den Quellcode dazu mitliefern?
    echo 'hello $world';
    Ist nicht das gleiche wie
    echo "hello $world";
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Du meinst hoffentlich nicht sowas:

      PHP-Code:
      $var 'Ich bin eine Var';

      define('EINS'"Foo1 $var");
      define('ZWEI''Foo2 $var');

      echo 
      EINS// Foo1 Ich bin eine Var
      echo ZWEI// Foo2 $var 
      Den das wären absolute Grundlagen http://php.net/manual/de/language.types.string.php

      LG

      // EDIT: Zu langsam... hatte den Post von rkr vorher interessanter Weise nicht gesehen..
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Ich hatte Mist geschrieben. Deshalb den Beitrag geleert.
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        http://www.lit-web.de

        Kommentar


        • #5
          Hallöchen,

          was haben Variablen denn in Konstanten zu suchen? Du solltest lieber mit Platzhaltern arbeiten:

          PHP-Code:
          define('MESSAGE''Hallo %s, heute ist es %s.');
          printf(MESSAGE'Mr. Foo''sonnig'); // Alternativ sprintf verwenden 
          Wobei ich selbst hierbei Zweifel habe, ob Konstanten der richtige Weg sind.

          Viele Grüße,
          lotti

          Kommentar


          • #6
            PHP-Code:
            for($i=0$i $locales['cnt_rows']; $i++){
                    
            define($locales[$i]['code'], $locales[$i]['text']);
                } 
            In $locales[$i]['text'] steht ein beliebiger Text mit Variablen. Mir wird aber immer der Variablen-Name ausgegeben.

            Kommentar


            • #7
              Wenn du vor der Schliefe ein print_r() oder var_dump() auf $locales machst, dann stehen da auch die Vars drinnen, korrekt? Dann beginnt meiner Ansicht nach da schon das Problem, die Vars sollten ev. vor der Befüllung ins Array schon geparst werden, oder andersrum nur der fertig geparste Text ins Array kommen?

              Ich finde diesen Weg sehr seltsam, woher kennst du dann den Namen der Konstanten wenn du die dynamisch erzeugst? Also zum Zeitpunkt der Anzeige dann?
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                PHP-Code:
                define($locales[$i]['code'], $locales[$i]['text']); 
                Variable Konstanten? Irgendwie ergibt das allein schon beim Betrachten der Wortbedeutung KONSTANTE keinen Sinn oder?

                Ich frage mich, wo diese "Logik" herkommt... musst du mit Legacy-Code arbeiten der ohne Wrapper direkt auf Konstanten zugreift?
                Tutorials zum Thema Technik:
                https://pilabor.com
                https://www.fynder.de

                Kommentar

                Lädt...
                X