AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] print_r ($abc)

Ein Thema von MrSpock · begonnen am 9. Jan 2010 · letzter Beitrag vom 10. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

[PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:27
Hallo,

print_r sollte doch bei der Ausgabe eines Arrays jedes Element in einer eigenen Zeile anzeigen.
Woran kann es liegen, wenn alle Elemente nebeneinander angezeigt werden?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:29
Ich fürchte, das liegt an der Art und Weise, wie die Browser den HTML-Code interpretieren. Ich nutze meist
echo "<pre>", print_r($abc), "</pre>";
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#3

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:31
Zitat von MrSpock:
Woran kann es liegen, wenn alle Elemente nebeneinander angezeigt werden?
Nebeneinander in der HTML-Ausgabe des Browsers oder im Seitenquelltext?

Die webbrowser sehen Zeilenumbrüche (Linebreak) normal nur als Leerzeichen an (
= Zeilenumbruch )

[edit] keine Redbox
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:36
Hallo,

also mit der Methode von Daniel funktioniert es. Aber wieso? Warum überschreibt der Browser (übrigens FF genauso wie Safari) die Formatierung von print_r?

@himitsu: In der Ausgabe im Browser.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#5

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:40
Zitat von MrSpock:
Warum überschreibt der Browser (übrigens FF genauso wie Safari) die Formatierung von print_r?
Zitat von himitsu:
Die Webbrowser sehen Zeilenumbrüche (Linebreak) normal nur als Leerzeichen an (
= Zeilenumbruch )
Weil halt die Formatierungen (Leer-/Trenn-/Formatierungszeichen) im Quelltext laut HTML irrelevant sind
(mehrere Leerzeichen werden auch nur als Eines angezeigt) und mit den Formatierungen in der Ausgabe nichts zu tun haben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:40
Ein Browser ignoriert eben Leerzeichen, Return etc. und interpretiert nur den HTML-Code. Das ist aber auch gut so. Sonst würde bsp. ordentlich eingerückter HTML-Code im Browser auch entsprechend eingerückt dargestellt werden und das Design komplett durcheinander werfen.
Mir den <pre>-Tags werden auch diese Zeichen berücksichtigt und ausgegeben. Das ist schon korrekt.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#7

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:47
Hallo,

danke für die Erklärung. Ich habe vor 2 oder 3 Jahren, als ich mich das erstemal mit PHP beschäftigt habe mit dem "PHP 4 Das Praxisbuch" gearbeitet. Dort wurde ein array auch immer mit print_r oder var_dump ausgegeben. In den Beispielen wird das HTML Tag <pre> aber nicht benutzt. In der Ausgabe, die im Buch abgedruckt ist, stehen die Elemente aber trotzdem untereinander und ich bin mir ziemlich sicher, dass mir die Ausgabe wie im Buch gezeigt dargestellt wurde. (Sonst hätte ich schon damals gefragt. )
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 21:58
Dann hat hast du damals evtl. kein HTML ausgegeben und der Browser hat die Ausgabe als reinen Text interpretiert.
Dann sieht man auch die Zeilenumbrüche.


MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#9

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 22:11
Siehe auch die Funktion nl2br, die genau für solche Probleme gedacht ist.
Leider kann man sie auf die Funktion nicht anwenden, da print_r die Ausgabe nicht zurückgibt, sondern direkt ausgibt.

Edit:// print_r unterstützt seit PHP 4.3.0 auch einen zweiten Paramter, der obiges doch ermöglicht:

Code:
echo nl2br(print_r($var, True));
Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#10

Re: [PHP] print_r ($abc)

  Alt 9. Jan 2010, 22:14
Hallo Bug,

das könnte prinzipiell schon sein, aber wie kann ich nicht HTML Code ausgeben? Ich meine der Code sieht ja so aus:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        // put your code here
            function ShowHalloWelt() {
           
            $abc=array(1=>"Hallo", "Welt"=>"Welt",3);
            print '<pre>';
            print_r($abc);
            print_r($b);
            print '
';
         
            print '</pre>';
            }
            ShowHalloWelt();
         ?>
    </body>
</html>
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz