Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mehrdimensionales Array auslesen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Mehrdimensionales Array auslesen

    Hallo zusammen,

    Ich bin neu hier im Forum und habe direkt eine Frage.
    Ich habe ein mehrdimensionales Array aber ich weiss nicht genau wie ich es ausgeben kann/muss.

    mit print_r bekomme ich folgende ausgabe:
    Array
    (
    [0] => Array
    (
    [0] => 2014-03-25
    [Schulungsdatum] => 2014-03-25
    )

    [1] => Array
    (
    [0] => 2014-03-25
    [Schulungsdatum] => 2014-03-25
    )

    [2] => Array
    (
    [0] => 2014-05-01
    [Schulungsdatum] => 2014-05-01
    )

    [3] => Array
    (
    [0] => 2014-05-01
    [Schulungsdatum] => 2014-05-01
    )

    [4] => Array
    (
    [0] => 2014-03-25
    [Schulungsdatum] => 2014-03-25
    )

    [5] => Array
    (
    [0] => 2014-03-25
    [Schulungsdatum] => 2014-03-25
    )

    [6] => Array
    (
    [0] => 2014-05-01
    [Schulungsdatum] => 2014-05-01
    )

    )

    Wie kann ich nun die Werte mit einer Schleife auslesen?
    Ich habe es schon mit zwei foreach Schleifen versucht, bekkomme es aber nicht hin.

    Danke für eure Hilfe

  • #2
    Ich habe es schon mit zwei foreach Schleifen versucht, bekkomme es aber nicht hin.
    zeig mal deinen Versuch.

    mfg Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Mein Versuch sieht folgendermassen aus:

      Wobei hier $NextSchulung der Name des Arrays ist.

      PHP-Code:
      foreach ($NextSchulung as $next => $value) {
          foreach (
      $value as $Schulung => $value) {
              echo 
      $Schulung "<br />";
              echo 
      $value "<br />";
          }

      Kommentar


      • #4
        foreach ($NextSchulung as $next => $value) {
        foreach ($value as $Schulung => $value) {
        Du hast "$value" 2 mal benutzt. Nimm unterschiedliche Variablennamen, dann sollte es klappen.
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Super das hat schon mal geklappt, danke!

          Nun habe ich aber noch eine weitere Frage, und zwar:
          Wie kann ich z.B. nur die Schulungsdaten rauslesen?

          Also:

          Array
          (
          [0] => Array
          (
          [0] => 2014-03-25
          [Schulungsdatum] => 2014-03-25 <-- nur jeweils diesen Wert
          )

          Kommentar


          • #6
            Wie kann ich z.B. nur die Schulungsdaten rauslesen Werte rauslesen?
            Einfach über den key ansprechen!

            mfg wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Ok also so wie ich das verstanden habe müsse es doch so gehen:

              mit
              PHP-Code:
              $NextSchulung[0]['Schulungsdatum']; 
              kann man einen einzelnen Wert ansprechen.

              Dementsprechend sollte doch diese Schleife funktionieren.

              PHP-Code:
              for($i=0;$i<=count($NextSchulung);$i++) {
                  
              $NextSchulung[$i]['Schulungsdatum'];

              Ich bekomme aber keine Ausgabe.

              Kommentar


              • #8
                PHP-Code:
                foreach ($NextSchulung as $next => $value) { 
                    echo 
                $value['Schulungsdatum'];

                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar


                • #9
                  Zitat von SkitteryGull9 Beitrag anzeigen
                  Dementsprechend sollte doch diese Schleife funktionieren.

                  PHP-Code:
                  for($i=0;$i<=count($NextSchulung);$i++) {
                      
                  $NextSchulung[$i]['Schulungsdatum'];

                  Ich bekomme aber keine Ausgabe.
                  sie funktioniert auch fast. du hast das echo vergessen.
                  außerdem wirst du am ende noch eine warnung wegen undefined offset bekommen.
                  so ist es besser:
                  PHP-Code:
                  for($i=0;$i count($NextSchulung);$i++) {
                      
                  $NextSchulung[$i]['Schulungsdatum'];

                  so noch etwas besser
                  PHP-Code:
                  $length count($NextSchulung);
                  for(
                  $i=0;$i $length ;$i++) {
                     
                  $NextSchulung[$i]['Schulungsdatum'];

                  oder gleich mit der foreach-schleife wie lstegelitz geschrieben hat.

                  edit: falls du bei deinem versuch keine warnung bekommen hast schalt das error-reporting höher
                  liebe Grüße
                  Fräulein Dingsda

                  Kommentar


                  • #10
                    Mich dünkt als wäre das ein Resultset von Mysql das du ohne Angabe des Fetch-Modus angefordert hast..
                    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                    Kommentar


                    • #11
                      Erstmals Danke an alle!

                      Das vergessene echo war ein blöder Fehler von mir.
                      Mit eingefügtem echo funktioniert sie auch, aber ich bekomme keine Warnung.
                      Mein Error-Reporting habe ich so eingestellt:
                      PHP-Code:
                      error_reporting(E_ALL);
                      error_reporting(E_STRICT);
                      ini_set("display_errors"1); 
                      Ich habe nun aber mit der foreach-Schleife von lstegelitz gelöst.

                      Kommentar


                      • #12
                        Jede Wette das du viel früher Ansetzen könntest um das sauber(er) umzusetzen.
                        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                        Kommentar


                        • #13
                          Zitat von SkitteryGull9 Beitrag anzeigen
                          Mit eingefügtem echo funktioniert sie auch, aber ich bekomme keine Warnung.
                          Mein Error-Reporting habe ich so eingestellt:
                          PHP-Code:
                          error_reporting(E_ALL);
                          error_reporting(E_STRICT);
                          ini_set("display_errors"1); 
                          mach die zweite zeile weg. damit überschreibst du die einstellung, die du in der ersten zeile gesetzt hast. E_STRICT ist schon bei E_ALL enthalten, falls du php 5.4 oder höher hast. ansonsten müsste das hier glaube passen

                          PHP-Code:
                          error_reporting(E_ALL|E_STRICT);
                          ini_set("display_errors"1); 
                          http://de2.php.net/manual/de/functio...-reporting.php

                          aber was tr0y schreibt solltest du vielleicht auch nochmal lesen
                          liebe Grüße
                          Fräulein Dingsda

                          Kommentar


                          • #14
                            Ich verwende PHP 5.3.2.

                            Habe es jetzt so umgeändert wie zu gesagt hast, danke.

                            Ja was tr0y sagt stimmt, ich müsste beim einfügen der Werte in mein mehrdimensionales Array ansetzen um es sauberer zu machen.

                            Kommentar


                            • #15
                              Zitat von dingsda Beitrag anzeigen
                              so ist es besser:
                              PHP-Code:
                              for($i=0;$i count($NextSchulung);$i++) {
                                  
                              $NextSchulung[$i]['Schulungsdatum'];

                              so noch etwas besser
                              PHP-Code:
                              $length count($NextSchulung);
                              for(
                              $i=0;$i $length ;$i++) {
                                 
                              $NextSchulung[$i]['Schulungsdatum'];

                              Weder noch...

                              Benutze foreach() um über ein Array zu iterieren. Grund: PHP-Arrays sind Hashmaps, es ist nicht zwingend gegeben, das die Indizes im Array fortlaufend sind.
                              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                              Kommentar

                              Lädt...
                              X