warum nicht $_post[xyz] statt $_post["xyz"]



  • ich wusste mal warum man $_post["xyz"] statt $_post[xyz] benutzen soll,
    aber jetzt fällts mir nicht mehr ein

    weis das zufällig jemand?



  • Weil du einen assoziativen Array-Index hast (einen String), und xyz im Gegensatz zu "xyz" kein String ist, vielleicht?

    Oder willst du auch schreiben

    $whatEver = Hallo, mir geht es gut, und dir?;
    print($whatever . <br /> Mir geht es nicht gut, aber warum wohl?);
    

    ? 😉

    Im Übrigen würde ich lieber 'xyz' schreiben, da braucht der Parser nicht durchlaufen. Wobei dass wohl mit PHP5 kaum mehr einen Unterschied macht ...



  • Das macht auch bei PHP4 keinen Unterschied. Ich bevorzuge aber auch ' anstatt ", da das Zeichen kleiner ist und den Code einen Hauch übersichtlicher macht. 😃



  • Hi,

    $array = array('N' => 1, 'M' => 2);
    define('N', 'M');
    
    echo $array[N].'<br/>'; // Gibt 2 aus
    echo $array['N']; // Gibt 1 aus
    

    Man kann es also mit Konstanten vewechseln. Aber auch nur, weil der Schlüssel ein String ist, versteht es sich von selbst, dass man die Klammern benutzt.

    Gruß Borschtsch



  • Kleiner Hinweis noch:
    Beim Erstellen von Webapplikationen mit PHP sollte man auf dem lokalen PC stets "error_reporting = E_ALL" (bzw. PHP5: "error_reporting = E_ALL|E_STRICT") verwenden, da man so diverse Probleme (wie beispielsweise das Verwenden von undefinierten Konstanten und Variablen) direkt sieht.


Anmelden zum Antworten