Jürgen: Bindestriche im index eines Arrays erlaubt?

Guten Tag,

sind Bindestriche im Index eines Arrays erlaubt?

Danke

  1. Hallo,

    sind Bindestriche im Index eines Arrays erlaubt?

    Du meinst im Schluessel eines assoziativen Arrays?

    Warum probierst Du es nicht einfach aus?
    OK, OK, nicht alles, was funktioniert, ist auch legal...

    Aber: Warum liest Du nicht selbst das Manual?
    http://www.php.net/manual/de/language.types.array.php
    "Ein Schlüssel ist entweder eine Zahl vom Typ integer
    oder ein string."

    Das Wort "string" ist ein Link zur Beschreibung davon,
    was ein "String" ist:
    http://www.php.net/manual/de/language.types.string.php
    "Ein String ist eine Folge von Zeichen.
    In PHP entspricht ein Zeichen einem Byte,
    das heißt, dass exakt 256 unterschiedliche
    Zeichen möglich sind."

    Fazit: Alle Zeichen von 0 - 255 sind erlaubt,
    also auch der "Bindestrich", solange Du damit
    das "Minus" (Dec. 45, Hex. 2D) meinst.

    Uebrigens: In Variablennamen sind auch Umlaute
    erlaubt, siehe
    http://www.php.net/manual/de/language.variables.php

    Gruesse,

    Thomas

    1. Hello Thomas,

      Fazit: Alle Zeichen von 0 - 255 sind erlaubt,
      also auch der "Bindestrich", solange Du damit
      das "Minus" (Dec. 45, Hex. 2D) meinst.

      Denkste...

      Uebrigens: In Variablennamen sind auch Umlaute
      erlaubt, siehe
      http://www.php.net/manual/de/language.variables.php

      Du gräbst aber auch immer Sachen aus! Das mit den Umlauten in Variablennamen hab ich auch noch nicht gewusst. Aber Bindestrich ist nicht. Ist ja kleiner als #128...

      Grüße

      Tom

      1. Hallo,

        Du gräbst aber auch immer Sachen aus! Das mit den Umlauten in Variablennamen hab ich auch noch nicht gewusst.

        Gell, da staunst der Laie, und der Fachmann wundert sich!
        Ich hab das frueher mal festgestellt.
        In den Beispielen werden ja netterweise auch die
        Variablennamen uebersetzt.
        $fruits['banana'] wird zu $früchte['banane'].
        Ich wollte schon einen Documentation-Bug-Report schreiben,
        als ich feststellte, dass es legal ist, ebenso wie $täbyte...

        Aber Bindestrich ist nicht. Ist ja kleiner als #128...

        Lies genau! Die Frage war, ob
        $bla["gugus-dada"]
        erlaubt sei. Und ich behaupte nach Lesen des Manuals: Ja.
        (Weil Du es bist, habe ich es sogar getestet.
        Und es funktioniert - wie erwartet - problemlos...)

        Gruesse,

        Thomas

        P.S. Wieder mal unter der Annahme, dass Du der einzige
        "Tom" bist: Du schuldest mir immer noch eine Antwort
        auf [pref:t=62560&m=354009] ...

        1. Freudiges Hello,

          Ich wollte schon einen Documentation-Bug-Report schreiben,
          als ich feststellte, dass es legal ist, ebenso wie $täbyte...

          Ich würd's trotzdem nicht wagen, das zu benutzen.

          Aber Bindestrich ist nicht. Ist ja kleiner als #128...

          Lies genau! Die Frage war, ob
          $bla["gugus-dada"]
          erlaubt sei. Und ich behaupte nach Lesen des Manuals: Ja.
          (Weil Du es bist, habe ich es sogar getestet.
          Und es funktioniert - wie erwartet - problemlos...)

          Die Frage war ja auch nicht, ob es funktioniert, sondern ob es offiziell erlaubt ist. Und da sagt die von Dir ausgebuddelte Manual-Seite doch ganz klar:

          <cite>
          A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

          Note: For our purposes here, a letter is a-z, A-Z, and the ASCII characters from 127 through 255 (0x7f-0xff).
          </cite>

          Ich habe extra nochmal die englische Seite aufgeschlagen. Wir hatten ja schon festgestellt, dass die Übersetzung manchmal schummelt.

          Grüße

          Tom

          P.S. Wieder mal unter der Annahme, dass Du der einzige
          "Tom" bist: Du schuldest mir immer noch eine Antwort
          auf [pref:t=62560&m=354009] ...

          Der einzige bin ich nicht. Da gibt's noch ein paar Witzbolde ;-))
          Aber derjenige aus dem Thread bin ich. Ich hab noch keine Zeit gehabt, zu suchen *alles Ausrede*. Aber ich denke, dass das wieder in irgendeiner RFC zu HTML zu finden sein müsste. Ich hasse die Dinger.

          Grüße

          Tom

          1. Hallo Tom,

            Lies genau! Die Frage war, ob
            $bla["gugus-dada"]
            erlaubt sei. Und ich behaupte nach Lesen des Manuals: Ja.
            (Weil Du es bist, habe ich es sogar getestet.
            Und es funktioniert - wie erwartet - problemlos...)

            Die Frage war ja auch nicht, ob es funktioniert,
            sondern ob es offiziell erlaubt ist. Und da
            sagt die von Dir ausgebuddelte Manual-Seite
            doch ganz klar:

            [...]

            Die Seite spricht von Variablen-Namen. Hier wird
            ueber etwas anderes geredet. Wer lesen kann ist
            halt doch klar im Vorteil. Hash-Keys != Variablennamen.

            Gruesse,
             CK

            --
            Zu wissen, was wir nicht wissen, ist die Quelle der Weisheit.
            1. Hello CK,

              Die Frage war ja auch nicht, ob es funktioniert,
              sondern ob es offiziell erlaubt ist. Und da
              sagt die von Dir ausgebuddelte Manual-Seite
              doch ganz klar:

              [...]

              Die Seite spricht von Variablen-Namen. Hier wird
              ueber etwas anderes geredet. Wer lesen kann ist
              halt doch klar im Vorteil. Hash-Keys != Variablennamen.

              Ich brauch sowieso 'ne Brille 8-(

              Aber wo steht das denn nun verbindlich? Zeig mir doch die Stelle. ICh kann sonst wieder die ganz Nacht nicht schlafen.

              Grüße

              Tom

              1. Hallo Tom,

                [... Hash-Keys ...]
                Aber wo steht das denn nun verbindlich? Zeig mir
                doch die Stelle. ICh kann sonst wieder die ganz
                Nacht nicht schlafen.

                http://www.php.net/manual/en/language.types.array.php:

                | A key may be either an integer or a string.

                Ein String ist eine beliebige Zeichenkette.

                Gruesse,
                 CK

                --
                Wenn der Schüler bereit ist, erscheint der Meister.
    2. Guten Tag,

      Danke für die sehr ausführliche Antwort.

      Mit freundlichen Grüßen

      Jürgen