Ankündigung

Einklappen
Keine Ankündigung bisher.

warum $array["index"] statt $array[index]?

Einklappen

Neue Werbung 2019

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

  • warum $array["index"] statt $array[index]?

    hi,
    kurze Frage:
    Mir sind desöfteren Leute aufgefallen, die bei Arrays die doppelten Hochkommata weglassen, was auch funktioniert und was ich nun ebenfalls anwende.
    Hier lese ich dagegen, dass dies unter allen Umständen vermieden werden soll.
    Liegt das nur an Unleserlichkeit oder funktioniert dies nicht auf allen Plattformen?
    mfg dejus


  • #2
    Nimm mal an du versuchst $array[index] anzusprechen und index ist eine definierte Konstante. Dann wird auf einmal versucht auf einen ganz anderen Schlüssel im Array zuzugreifen, der möglicherweise sogar nicht existiert.

    Kommentar


    • #3
      xabbuh hat es schon erklärt, vielleicht nochmal kurz ausführlicher: Wenn
      du einen String nicht in Anführungszeichen schreibst, wird angenommen,
      es handelt sind um eine Konstante
      http://de2.php.net/constants
      Ist diese Konstante nicht definiert, wird ihr Name als String verwendet. In
      deinem Fall wird aus index dann "index". Aber was wenn dein Schlüssel
      wie erwähnt eine definierte Konstante ist?

      PHP-Code:
      <?php
      define
      ('index''ganz anderer index');
      $array = array('index' => 'wert von index');
      print 
      $array[index]; // jetzt gleichzustellen mit $array['ganz anderer index'];
      ?>
      Abgesehen davon, was machst du wenn dein Schlüssel ein Leerzeichen
      oder anderes PHP reservierte Zeichen enthält?

      Machs lieber gleich richtig

      Kommentar


      • #4
        Dafür gibt es im Handbuch extra einen eigenen Abschnitt
        http://www.php.net/language.types.ar...es.array.donts
        Array do's and don'ts
        Why is $foo[bar] wrong?

        Kommentar


        • #5
          axo

          Kommentar

          Lädt...
          X