Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrdimensionales Array (Tabellenprinzip)

Einklappen

Neue Werbung 2019

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

  • Mehrdimensionales Array (Tabellenprinzip)

    Hallo,

    ist es möglich in PHP ein mehrdimensionales Array zu erstellen dessen zweite Dimension immer die selben Keys enthält? Es müsste dann, wenn dem Array ein Index hinzugefügt wird, wieder die selben Keys in der zweiten Dimension erstellen.

    Keys der zweiten Dimension: Welt, Hallo, Bier, Monster.
    $array[index][Keys der zweiten Dimension]

    Wenn $array um eins vergrößern (index +1) soll in der zweiten Dimension automatisch die Keys der zweiten Dimension drin sein. Die Struktur were dann einer Tabelle ähnlich.

    Gibt es so eine Art der Array deklarierung oder müsste ich doch jeden neuen Array index umständlich selbst mit den Keys der zweiten Dimension füllen?


  • #2
    Moin,

    du kannst dir eine Funktion schreiben, die diese Anforderungen erfüllt.

    Oder du betrachtest einen fehlenden Index im Array als leere Spalte einer Tabelle.

    Darf ich fragen, wozu der Spaß gut sein soll?
    http://hallophp.de

    Kommentar


    • #3
      Gibt es so eine Art der Array deklarierung
      Nein. Solche speziellen Fälle braucht auch niemand.
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Zu nächst mal habe ich mich nun über euer Verhalten sehr stark gewundert.
        Was ich meine gibt es z.B. bei Visual Basic. Siehe hier

        Das ich mir so eine Funktion schreiben kann, wenn es nicht anders geht ist mir klar. Leider scheint auch kein weg vorbei, weil PHP offenbar doch noch nicht so ausgereift ist und an manchen stellen unnötiges und fehlendes hat.

        Das was ich suche ist auch keine speziele Funktion! So eine Art der Array deklarierung gibt es auch in anderen Spachen und findet immer gerade dann Verwendung wenn man eine Tabelle oder eine DB bilden muss.

        Kommentar


        • #5
          Leider scheint auch kein weg vorbei, weil PHP offenbar doch noch nicht so ausgereift ist und an manchen stellen unnötiges und fehlendes hat.
          Klassisches PHP-ist-zweite-Wahl-Sprache-Argument. Nicht jede Programmiersprache setzt die selben Ansätze und Prinzipien um, mache Sprachen sind bewußt reduziert oder erfüllen andere Anwendungsszenarien. Ehrlich gesagt sehe ich nicht, was der Link groß mit Deiner Frage zu tun hat.

          Klar kannst Du das machen:
          PHP-Code:
          $set = array ('Welt'=>null'Hallo'=>null'Bier'=>null'Monster'=>null);

          $a = array ();
          $a[] = $set;
          $a[] = $set;
          ... 
          Nur was das für einen tieferen Sinn hat, wenn Du die Keys ohnehin noch mit Werten versehen musst, .. ?!
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            mh. Es ist auch irgendwie schwer zu erklären, was ich meine. Ich versuche es mal anders.

            [0]['Welt' => null,'Monster' => null,'Medizin' => null]
            [1]['Welt' => null,'Monster' => null,'Medizin' => null]
            [3]['Welt' => null,'Monster' => null,'Medizin' => null]
            [4]['Welt' => null,'Monster' => null,'Medizin' => null]

            Wie oben zu sehen ist, enthält jeder Index des Array die gleiche zweite Dimension. Nun mal angenommen ich muss das Array um ein Index vergrößern.

            Also kommt dann [5]. Und nun der Sinn der Sache, die sich verzweigtes Array nennt, es soll automatisch wieder die gleiche zweite Dimension besitzen. Also
            ['Welt' => null,'Monster' => null,'Medizin' => null]. Und wenn ich nun wieder das Array Index um eins vergrößere, soll wieder dieselbe zweite Dimension automatisch hinzugefügt werden. So eine Strukturierung liegt einer Tabelle gleich, weil Zeile 1 (Array[0]) die Spalten vorgibt.

            Natürlich sollen die Felder mit Werten versehen werden bloß, soll nicht bei jeder Vergrößerung des Array die Felder einzeln noch mal selbst hinzugefügt werden müssen.

            Gut diese Art der Array deklarierung ist nun aber offenbar in PHP nicht möglich. Was ich auch sehr schade finde. Muss ich das dann eben doch unlogisch machen und jede zweite Dimension wiederholen.

            Kommentar


            • #7
              Tja, sinnvoll wäre gewesen, zu beschreiben, was
              Natürlich sollen die Felder mit Werten versehen werden blos, soll nicht bei jeder vergrößerung des Array die Felder einzelt noch mal selbst hinzugefügt werden müssen.
              bedeuten soll. Dass das andere sehr wohl geht, habe ich gerade geschrieben. Du musstr nur auch mal die ANtworten verstehen lernen.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Wieso müssen denn die Felder alle schon im Array vorhanden sein? Angenommen du hast eine neue Dimension ohne diese ganzen Felder. Wenn du jetzt einen neuen Wert einträgst geht das ohne Probleme, wenn du einen Wert auslesen willst checkst du erst mit array_key_exists() ob der Wert existiert, wenn nicht weißt du es ist "null" ... seh ich überhaupt kein Problem dabei!

                Kommentar


                • #9
                  Meine Frage war aber nicht, wie kann ich durch eine funktion automatisieren, dass jeder neue Index die selben Keys enthält (das weiß ich nämlich selber) sondern ob PHP eine Array deklarierung besitzt, die quasie das Ergebnis solch einer Funktion schon erbringt.

                  Offenbar ist es jetzt nun für die PHP Lieblinge zu sagen, nein - das kann PHP nicht!, zu schwer. tja

                  Kommentar


                  • #10
                    Lächerlich!
                    Zitat von nikosch
                    Nein.
                    Vielleicht strengst du mal selbst deinen Grips an als hier rumzujammern!
                    http://hallophp.de

                    Kommentar


                    • #11
                      Zitat von Flor1an Beitrag anzeigen
                      Wieso müssen denn die Felder alle schon im Array vorhanden sein? Angenommen du hast eine neue Dimension ohne diese ganzen Felder. Wenn du jetzt einen neuen Wert einträgst geht das ohne Probleme, wenn du einen Wert auslesen willst checkst du erst mit array_key_exists() ob der Wert existiert, wenn nicht weißt du es ist "null" ... seh ich überhaupt kein Problem dabei!
                      Das ist das normalste der Welt und kommt in der Programmierung immer wieder vor. Hast du Dir schon mal eine Tabelle einer Datenbank angesehen?

                      Wenn man Objekte verwaltet, die alle der gleichen Art sind, dann haben die alle die selben Eigenschaftsbezeichnungen. Also jeder Index (für ein Objekt) die gleichen Keys. Nur die Werte zu den einzelnen Eigenschaft können dann anders sein.

                      Kommentar


                      • #12
                        Troll (Netzkultur) – Wikipedia
                        http://hallophp.de

                        Kommentar


                        • #13
                          Zitat von Asipak Beitrag anzeigen
                          Lächerlich!

                          Vielleicht strengst du mal selbst deinen Grips an als hier rumzujammern!
                          So ich glaube mir ist nun klar ich habe es hier mit echten Anfängern zu tun. Werde dann mal in ein Forum wechseln die wirklich PHP studiert haben.

                          Kommentar


                          • #14
                            Das könnte sogar auf Sie zustimmen, da Sie selber nichts sinnvolles mit einbringen.

                            Kommentar


                            • #15
                              Das ist das normalste der Welt und kommt in der Programmierung immer wieder vor. Hast du Dir schon mal eine Tabelle einer Datenbank angesehen?
                              Nun werd mal nicht unverschämt. Außerdem:
                              - reden wir nicht von Tabellen
                              - habe ich Dir oben eine Lösung gezeigt. Meinetwegen kannst Du die auch noch in eine Zeile ziehen
                              - schaffst DU es offenbar nicht mal, Fragen zu beantworten und ein vernünftiges Bsp. für den Anwendungsfalls zusammenzustellen.

                              Wenn man Objekte verwaltet, die alle der gleichen Art sind, dann haben die alle die selben Eigenschaftsbezeichnungen.
                              Von Objekten hat hier niemand geredet. PHP kann nämlich Objekte. Aber Du als Mister Superschlau musst natürlich Objektverhalten in Arrays abbilden wollen. Also fass Dir mal an die eigene Nase, statt hier andere anzumachen!
                              --

                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                              --

                              Kommentar

                              Lädt...
                              X