Benutzerdefinierte Suche

Variable Konstantennamen

  1. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Hallo,

    auf Variablen mit variablen Namen kann ich ja bekanntermaßen mit $$name zugreifen. (ist $name=1, so wird die Variable $1 genutzt)

    Wie klappt das mit Konstanten? Bekomm's nicht hin.
     
    Jakob, 30.09.2006
  2. kasumix

    kasumixMacUser Mitglied

    Mitglied seit:
    04.06.2006
    Beiträge:
    54
    Zustimmungen:
    0
    Hallo,

    Wenn du in PHP konstanten definieren willst musst du das mit einem "define()" machen. Zum Beispiel:
    define("LINK","http://www.google.ch");
    dannach kannst du OHNE $ auf diese Konstante zugreiffen.
    echo LINK;

    Gruss

    Kasumix
     
    kasumix, 30.09.2006
  3. koli.bri

    koli.bri

    Mal ganz davon abgesehen, dass ich den sinn solcher Operationen nie verstanden habe, da es auch Arrays gibt, gibt es meine ich, keine von Haus aus Möglichkeit, um Variabel auf Konstanten zuzugreifen.

    Abhilfe könnte da aber eine Funktioin schaffen, welche den Variablen Namen mit eval() "simuliert".

    also in etwa so:
    PHP:

    function usevariableconst($constname){

    $tmp "$var = ".$constname;

    eval(
    $tmp);

    return 
    $var;

    }


    Ist aber nicht getestet :)


    gruß
    Lukas
     
    koli.bri, 30.09.2006
  4. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    @kasumix: Es geht um Konstanten mit variablen Namen, bspw. LINK1, LINK2, LINK3 etc. Diese würde ich gerne in der Form LINK.$i aufrufen.

    @Lukas: Auch wenn mir eval immer ein bisschen suspekt ist… Das ist ne clevere Idee.

    Eben nicht. Man kann doch kein $array[LINK][1] haben, oder? Mir geht's um die Eigenschaften von Konstanten (Namensraum, Reichweite, nicht änderbar etc.)

    Habe mich erstmal für arrays entschieden.
     
    Jakob, 30.09.2006
  5. TerminalX

    TerminalXMacUser Mitglied

    Mitglied seit:
    12.01.2004
    Beiträge:
    1.798
    Zustimmungen:
    108
    Bietet PHP nur normale Variablen und Arrays? Bei Perl könnte man Hashes nehmen. Gibt es sowas auch für PHP?
     
    TerminalX, 01.10.2006
  6. Sovok

    SovokMacUser Mitglied

    Mitglied seit:
    10.06.2005
    Beiträge:
    36
    Zustimmungen:
    0
    Klar, PHP-Arrays sind recht mächtig.

    PHP:
    $arr = array(123"bla" => "ble""key" => "value");
    Überdenk das mit den Konstanten am besten nochmal, denn für sowas wie "LINK1, LINK2, LINK3 etc." sind Arrays genau das richtige. Zudem viel schneller als das eval()-Gehampel :) (aber ne gute Idee)

    -> http://www.php.net/array
     
    Sovok, 02.10.2006
  7. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Hi Sovok,

    ja danke. Das Ding ist halt, dass es eigentlich wirklich Konstanten sind (von den Werten her) und somit das die richtige Art wäre. Noch dazu ist Unveränderlichkeit in ner Sprache wie PHP, die ohne zu zögern Array_of_strings->Object->Int mitmacht, manchmal wirklich sehr hilfreich.

    Aber hab mich schon damit abgefunden, dass es nur mit eval geht und nutze deshalb arrays.
     
    Jakob, 03.10.2006
Die Seite wird geladen...
Ähnliche Themen - Variable Konstantennamen
  1. flohaase
    Antworten:
    2
    Aufrufe:
    967
    flohaase
    26.09.2013
  2. timroh
    Antworten:
    1
    Aufrufe:
    978
  3. Shark Master

    variable $text

    Shark Master, 28.10.2010, im Forum: Web-Programmierung
    Antworten:
    16
    Aufrufe:
    962
    falkgottschalk
    31.10.2010
  4. knooby
    Antworten:
    4
    Aufrufe:
    3.700