Phil: Array-Namen mit Sonderzeichen/ Leerzeichen?

Hallo zusammen

Ich habe eben versucht, einen Array-Namen zu definieren, welcher ein Leerzeichen/Sonderzeichen beinhaltet. Gebe ich das Array mit var_dump aus, scheint alles korrekt zu sein. Leider kann ich das Array aber nicht aufrufen.

Wie rufe ich Arrays auf, dessen Namen Sonderzeichen oder Leerzeichen beinhalten?

Herzlichen Dank für Eure Hilfe!

  
$array[Mein Array] = array("etwas", "anderes");  
  
echo $array[Mein Array][0];  

  1. Ich löse meine Frage gleich selbst auf.

    Sorry, habs eben rausgefunden.

    echo $array[utf8_encode("Mein Array")];

    1. Hello,

      Ich löse meine Frage gleich selbst auf.

      Sorry, habs eben rausgefunden.

      echo $array[utf8_encode("Mein Array")];

      Verstehe ich jetzt nicht wirklich, was die Codierung soll. Funktioniert mMn auch nur zufällig, weil alle Zeichen aus dem ASCII-Raum stammen, also Codepoints 0d bis 127d haben.

      Eigentlich sollte es genügen, die Notation von Elementnamen für Arrays einzuhalten:

      echo $array['Mein Element'];

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. Hallo,

      Ich löse meine Frage gleich selbst auf.
      Sorry, habs eben rausgefunden.

      nein, hast du nicht.

      echo $array[utf8_encode("Mein Array")];

      KREISCH! Nein!
      Abgesehen davon, dass der String "Mein Array" in allen gängigen Codierungen einschließlich UTF-8 identisch bleibt - es würde schon genügen, den String auch korrekt als Key anzugeben, anstatt einfach zwei Konstanten mit den Namen "Mein" und "Array" hintereinanderzuschreiben.

      Ciao,
       Martin

      --
      Rizinus hat sich angeblich als sehr gutes Mittel gegen Husten bewährt.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(