Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie viele Dimensionen kann ein Array haben

Einklappen

Neue Werbung 2019

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

  • Wie viele Dimensionen kann ein Array haben

    Kleine Frage am Rande:
    Wie viele Dimensionen kann ein array haben?
    Ich hab nämlich ein Array, das ich mehr als 3x splitte und es kommt ab der dritten Dimension nur ein String ("Array") raus.

    Code:
    Inhalt des übergebenen Arrays:
    {
      ['td']: 
      {
        ['cat']: 
        {
          [0]: 'Array' <= eigentlich noch weiter aufgesplittet
          [1]: 'Array' <= eigentlich noch weiter aufgesplittet
       }
       }
      ['settings']: (unwichtig)
      {
        ['faecher']: 
        {
          [0]: 'Mathe'
          [1]: 'Deutsch'
          [2]: 'Englisch'
          [3]: 'Französisch'
          [4]: 'Latein'
          [5]: 'Griechisch'
          [6]: 'Spanisch'
          [7]: 'Italienisch'
          [8]: 'Geschichte'
          [9]: 'Erdkunde'
          [10]: 'Biologie'
          [11]: 'Physik'
          [12]: 'Chemie'
          [13]: 'Philosophie'
          [14]: 'Religion'
          [15]: 'Musik'
          [16]: 'WiPo'
          [17]: 'Informatik'
          [18]: 'Sport'
          [19]: 'VU'
        }
      }
    }


  • #2
    Re: Wie viele Dimensionen kann ein Array haben

    Zitat von speedyware
    Ich hab nämlich ein Array, das ich mehr als 3x splitte und es kommt ab der dritten Dimension nur ein String ("Array") raus.
    ROFL

    Kommentar


    • #3
      soll ich das jetzt so interpretieren, dass ein array keine 4 dimensionen haben kann?

      Kommentar


      • #4
        Ungesplittet sieht das nämlich so aus:
        Code:
        {
          ['td']: 
            {
            ['cat']: 
              {
                [0]: 'Aufgaben|||1|||-|||27.10.2005|||-|||-|||-|||-|||-'
                [1]: 'Test|||-|||-|||27.10.2005|||-|||-|||-|||-|||-&&&&&Test2|||-|||-|||27.10.2005|||-|||-|||-|||-|||-'
            }
          }
        }
        Diese beiden Einträge werden nochmal bei "&&&&&" und "|||" gesplittet.

        Kommentar


        • #5
          hoffe das hilft: http://tut.php-q.net/array.html
          Was soll ich denn nun in meine sig einfügen????

          Kommentar


          • #6
            "Wieviele Arrays sie in Arrays packen ist eigentlich nur durch den Speicher begrenzt, wenn sie aber 3 oder mehr Ebenen haben, sollten sie sich Gedanken über ihre Programmierweise machen. "
            Okay, dann scheint der Speicher nicht groß genug zu sein (*wunder*). Aber in das Array muss so viel rein. Naja, muss ich dann wohl anders lösen. Thx!

            Kommentar


            • #7
              Zitat von speedyware
              Okay, dann scheint der Speicher nicht groß genug zu sein (*wunder*).
              FDROFL

              /edit:
              Denk doch bitte einfach mal nach bevor Du hier postest.

              Dein Array z.B. mal mit print_r() ausgeben... :wink:

              Kommentar


              • #8
                Nein, Speichermangel würde eine Fehlermeldung auslösen oder das Skript lautlos beenden.
                "Array" bedeutet, dass Du ein Feld in einem Zeichenkettenkontext benutzt hast.
                echo zum Beispiel gibt eine Zeichenkette aus, kein Array. Übergebe ich echo ein Feld als Parameter wird die Umwandlung Feld->Zeichenkette aufgerufen. Und die gibt immer Array zurück.
                PHP-Code:
                <?php
                $a 
                = array(1,2,3,4,5);
                echo 
                $a;
                ?>
                Kurzfassung: Du machst was falsch im Skript.

                Kommentar


                • #9
                  Die Antwort ist 4.x * (1/2*PI) * Q(t), wobei Q(t) eine Störfunktion ist, welche komplexe Werte annehmen kann.
                  privater Blog

                  Kommentar


                  • #10
                    das hilft bestimmt weiter
                    Was soll ich denn nun in meine sig einfügen????

                    Kommentar


                    • #11
                      Das Problem ist aber, wenn ich nun versuche auf eines der Elemente (Die eigentlich noch Unterelemente haben sollten) zuzugreifen sagt er:
                      "Fatal error: Cannot use string offset as an array in D:\Eigene Dateien\Websites\To-Do-Liste_Dev\todo.php on line 268"
                      und wenn ich die letzte Dimension davor ausgebe, gibt er nur das "A" aus.
                      Ebenso gibt er in dem Fall bei "is_array()" false aus.

                      Kommentar


                      • #12
                        Dann hast Du wohl schon vorher beim Befüllen des Feldes einen Fehler gemacht.
                        Zum Beispiel
                        PHP-Code:
                        <?php
                        $c 
                        = array(1,2,3);
                        $a = array('b'=>"$c");
                        echo 
                        gettype($a['b']), ':'$a['b'];
                        ?>

                        Kommentar


                        • #13
                          Code:
                             $fp = fopen($file, "r");
                             $fcontent = fread($fp, filesize($file));
                             fclose($fp);   
                              $fcontent = explode("##########!", $fcontent);
                              for($i=0;$i<count($fcontent);$i++){
                               $fcontent[$i] = explode("€€€€€", $fcontent[$i]);
                               
                               $fcontent[$i][2] = explode("&&&&&", $fcontent[$i][2]);
                               for($j=0;$j<count($fcontent[$i][2]);$j++){     
                                $fcontent[$i][2][$j] = explode("|||", $fcontent[$i][2][$j]);
                               }
                               switch($fcontent[$i][1]){
                                case 0: $this->fcontent["td"]["cat"][$fcontent[$i][0]] = $fcontent[$i][2]; break;
                                case 1: $this->fcontent["td"]["note"][$fcontent[$i][0]] = $fcontent[$i][2]; break;
                                default: $this->fcontent["td"]["cat"][$fcontent[$i][0]] = $fcontent[$i][2]; break;
                               }
                              }
                          Und der Inhalt der Datei:

                          Code:
                          0€€€€€0€€€€€Aufgaben|||1|||-|||27.10.2005|||-|||-|||-|||-|||-##########!1€€€€€0€€€€€TEST|||-|||-|||27.10.2005|||-|||-|||-|||-|||-&&&&&TEST2|||-|||-|||27.10.2005|||-|||-|||-|||-|||-
                          $this->fcontent entspricht dann dem Array in der Klasse mit dem ich arbeite.

                          Kommentar


                          • #14
                            Kann ich ohne den Rest der Klasse nicht nachvollziehen (einfach zu faul).

                            Ist $fcontent oder $this->fcontent oder beides richtig?

                            Kommentar


                            • #15
                              erst wird alles in $fcontent eingelesen und dann in $this->fcontent gespeichert. Die Ausgabe, die ich vorhin gepostet hab ist die von $this->fcontent.

                              Kommentar

                              Lädt...
                              X