[Variablen] Größe eines mehrdimensionalen Arrays

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

  • [Variablen] Größe eines mehrdimensionalen Arrays

    Wie bestimme ich die Größe eines mehrdimensionalen Arrays?

    z. B.: $feld[$a][$b];

    Mit count($feld); ermittele ich nur die Größe von $a.
    Wie erfahre ich jedoch die Größe von $b ???
    Download ET-Chat v3.x.x

  • #2
    count($feld[$a]);
    Kissolino.com

    Kommentar


    • #3
      echo count($feld[$a]);

      gibt mir eine "0" aus!!!! Das ist aber falsch der zweite Wert des Arrays ist keine Null! Sonst währe das ja unsinnig!
      Download ET-Chat v3.x.x

      Kommentar


      • #4
        count($feld[$a]); geht davon aus, dass $feld[$a] auch einen eintrag hat... sonst steht da halt 0 (+ Notice: Undefined offset falls das error_reporting richtig eingestellt ist)
        Kissolino.com

        Kommentar


        • #5
          Ich glaube ich wurde etwas missverstanden! Deshalb etwas anders formuliert:

          Also im Array ist eine Matrix gespeichert. Und die Dimensionen dieser Matrix gibt es heraus zu bekommen!

          1 3 5 2 5 7 2
          3 5 6 8 4 6 7
          6 9 4 4 7 5 1 = $feld[$a][$b];
          3 2 3 2 3 2 3
          5 4 5 6 4 7 7


          In diesem Beispiel mit dem count($feld); => 5 da die Matrix fünf Zeilen hat.
          Wie erfahre ich aber die Anzahl der Spalten?
          Download ET-Chat v3.x.x

          Kommentar


          • #6
            ist $feld[$a][$b] auch ein Array, dann mit count

            ansonsten müsstest du halt im/exploden();

            Kommentar


            • #7
              wenn ich dich richtig verstehe, sieht dein array so aus?! :
              PHP-Code:
              $feld = array('1'=> '1 3 5 2 5 7 2',
               
              => '3 5 6 8 4 6 7'); 
              dann ist $feld[$a] kein array sondern ein string und count sollte 1 liefern ... egal, wenn dem so ist, könnte das helfen:
              PHP-Code:
              $a=1;
              echo 
              ceil(strlen(($feld[$a]))/2); 
              Kissolino.com

              Kommentar


              • #8
                NEIN!!!! Das ist nicht so!!!!

                $feld[1][1] = 1
                $feld[1][2] = 3
                $feld[1][3] = 5
                usw.

                $feld[1][1] = 1
                $feld[2][1] = 3
                $feld[3][1] = 6
                usw.

                So sieht es aus... eben mathematische Matrix (Aij)
                Download ET-Chat v3.x.x

                Kommentar


                • #9
                  dann liegt dein problem wohl bei $a, $b sowie in einer feststehenden "!"-taste
                  Kissolino.com

                  Kommentar


                  • #10
                    Ich habe die richtige Lösung gefunden :

                    Also Zeilen gibts über count($feld);
                    Und Spalten über count($feld[0]);
                    Download ET-Chat v3.x.x

                    Kommentar


                    • #11
                      Ich habe die richtige Lösung gefunden :
                      du bist der größte!

                      Also Zeilen gibts über count($feld); Und Spalten über count($feld[0]);
                      achso? und wenn count($feld) > 1, gehts dann auch mit count($feld[1])?
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        achso? und wenn count($feld) > 1, gehts dann auch mit count($feld[1])?
                        Ja! es werden die Elemente von $feld[1] z.B. gezählt. Oder von $feld[2].
                        Ich der Wert jedoch nicht vorhanden, dann ist der Rückgabewert von count() = 0.
                        Download ET-Chat v3.x.x

                        Kommentar


                        • #13
                          Ich habe die richtige Lösung gefunden
                          Achso ist das.

                          Kommentar

                          Lädt...
                          X