print_r - Ausgabe

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

  • print_r - Ausgabe

    Hallo!

    Wenn ich die Funktion print_r() auf ein Array anwende, sollte ich laut PHP-Manual eine schöne Baumstruktur erhalten. Das ist jedoch leider nicht der Fall, es wird alles nacheinander, ohne Umbruch, Einrückung etc. ausgegeben. Gleiches passiert bei var_dump() auch.

    Ich verwende php-5.2.6-r2 auf Gentoo Linux. Der Effekt tritt beim Firefox und bei Opera auf. Gibt es da irgendeinen Trick?

    Schönen Gruß

  • #2
    PHP-Code:
    echo "<pre>";
    var_dump($deinArray);
    echo 
    "</pre>"

    Kommentar


    • #3
      Oh, man! Das stand in den ganzen Tutorials etc. nicht, oder ich habs nur als Unwichtig abgetan und überlesen.

      Danke für die schnelle Antwort!

      Kommentar


      • #4
        Wenn du mal in den HTML-Quelltext guckst (also die tatsächliche Ausgabe) dann siehst du die "Baumstruktur" auch ohne Formatierung.

        Kommentar


        • #5
          PHP-Code:
          header('Content-Type: text/plain'); 
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            Original geschrieben von gentoo-freak
            Oh, man! Das stand in den ganzen Tutorials etc. nicht, oder ich habs nur als Unwichtig abgetan und überlesen.

            Danke für die schnelle Antwort!
            Cool ... es gibt Tutorials zu "print_r" ...
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Meine Empfehlung:
              PHP-Code:
              echo "<pre>";
              var_export($deinArray);
              echo 
              "</pre>"
              Wir werden alle sterben

              Kommentar


              • #8
                Dann wäre meine Empfehlung:
                PHP-Code:
                echo "<pre>" var_export($deinArray,true) . "</pre>"
                Wobei ein entsprechendes var_dump() noch einige Vorzüge mehr hat.

                Kommentar


                • #9
                  Gerade wenn man die Daten als Testdaten hier im Forum präsentien will, ist var_export() vorzuziehen.
                  Weil: Ich bin schlicht zu faul irgendwelche Arrays dull abzutippen.

                  Wer var_dump verwendet, muß auf meine Hilfe verzichten.
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    Gerade wenn man die Daten als Testdaten hier im Forum präsentien will, ist var_export() vorzuziehen.
                    Klar, wenn man die Daten weitergeben und verwenden will. Deswegen ja auch EXPORT.

                    Aber wie oft war ne nicht ausgegebene Testausgabe schon ein "false" und wie oft werden zahlen als Strings verwendet usw... Das alles zeigt nur ein Dump.

                    Kommentar


                    • #11
                      Aber wie oft war ne nicht ausgegebene Testausgabe schon ein "false" und wie oft werden zahlen als Strings verwendet usw... Das alles zeigt nur ein Dump.
                      Ach nööö....
                      Einzig bei kleinen ganzzahlige Zahlen kann man float nicht von int unterscheiden.

                      PHP-Code:
                      <?php
                      error_reporting
                      (8191); // E_ALL und E_STRICT
                      ini_set('display_errors'TRUE); // evtl. hilfreich

                      class {}

                      $foo = array();
                      $foo[] = (bool)    0;
                      $foo[] = (bool)   42;
                      $foo[] = (int)    42;
                      $foo[] = (float)  42;
                      $foo[] = (string) 42;
                      $foo[] = NULL;
                      $foo[] = new A;



                      ?>
                      <pre>
                        <?php var_dump($foo?>
                      </pre>
                      <pre>
                        <?php var_export($foo?>
                      </pre>
                      Zuletzt geändert von combie; 05.07.2008, 17:16.
                      Wir werden alle sterben

                      Kommentar


                      • #12
                        Joar, da haste vollkommen recht, hab mich irgendwie von den normalen Testausgaben mittels echo in die Irre führen lassen.

                        Aber im var_dump stehts für die dummen wie mich wenigstens noch deutlich drin!

                        Kommentar


                        • #13
                          Und dann gibt es noch Krumo.

                          Kommentar


                          • #14
                            Original geschrieben von pekka
                            Und dann gibt es noch Krumo.
                            Oh, das hat sich ja richtig entwickelt.

                            Kommentar


                            • #15
                              Klares Problem an var_export ist, das keine sich selbst referenzierenden Arrays aufgelöst werden können.

                              Kommentar

                              Lädt...
                              X