SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.06.2005, 11:15:04
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ausgaben ordentlich realisieren

Wann " und wann '?
Es ist leider eine übliche Unart alles so auszugeben:
PHP-Code:
echo "Ewig langer Text ohne Variablen."
Das funktioniert, ist aber nicht die beste Lösung.
Besser ist das:
PHP-Code:
echo 'Ewig langer Text ohne Variablen.'
Und warum? Weil - wie eigentlich überall nachzulesen ist - PHP in Strings, die in " stehen nach Variablen sucht. Das kann je nach Textlänge dauern. Nicht, dass man sich einen Kaffee holen könnte, aber bei einigen Tausend Besuchern und vielen Texten dieser Art macht es sich schlicht besser, wenn man dem PHP-Parser diese Arbeit erspart.
Ausreden, wie "die Datenbank holt die gesparte Zeit locker wieder rein" zählen nicht!

Noch ein paar Beispiele:
PHP-Code:
$var='Auto';
// Ausgabe: Ich habe ein Auto.
echo "Ich habe ein $var.";

// Ausgabe: Ich habe ein $var.
echo 'Ich habe ein $var.'
Will man nun Zeilenumbrüche machen (richtige, im Quelltext sichtbare (\r, \n und \r\n), nicht diese <br>s und so), dann muss man diese in " setzen. Jetzt ist es hauptsächlich eine Frage des persönliches Geschmacks und natürlich der Länge des Textes wie man vorgeht.
Mögliche Varianten:
PHP-Code:
echo 'Ewig langer Text.'."\n";
echo 
'Ewig langer Text.'; echo "\n";
echo 
"Nicht ganz so ewig langer Text.\n"
Stellt sich die Frage, ab wann ein Text ein 'ewig langer' Text ist. Ich habe keine Ahnung! Ich würde aber einfach mal die Zahl 1.000 als Grenze abstempeln, ab der man sich doch für erstere Variante entscheiden sollte.
Ob die zweite oder die dritte Variante schneller ist wäre einen Versuch wert. Auch hier gilt: keine Ahnung!


Wie " oder ' ausgeben?
Manchmal muss man innerhalb eines Strings ein " oder ' ausgeben, zum Beispiel wenn JavaScript inbegriffen ist.
Mögliche Varianten sind:
PHP-Code:
echo "<a href='#' onclick='alert(\"\");'>Klick mich!</a>";
echo 
"<a href='#' onclick=\"alert('');\">Klick mich!</a>";
echo 
'<a href=\'#\' onclick=\'alert("");\'>Klick mich!</a>';
echo 
'<a href="#" onclick="alert(\'\');">Klick mich!</a>'
Lässt man die Backslashes weg, dann schimpft PHP. Zu Recht!


Inhalt eines Arrays ausgeben?
Man kann die folgenden Beispiele getrost überlesen, wenn man es so macht:
PHP-Code:
echo 'Hallo, ich bin: '.$arr[12]['name']; 
Manch einer mag's aber nicht oder der Code sieht damit schlicht Scheiße aus. Dann klammert (sicher nicht der richtige Ausdruck dafür) man es aus.

Beispiel $arr[12]='Carsten':
PHP-Code:
echo "Hallo, ich bin: {$arr[12]}";
echo 
"Hallo, ich bin: $arr[12]";
$zahl=12;
echo 
"Hallo, ich bin: {$arr[$zahl]}";
echo 
"Hallo, ich bin: $arr[$zahl]"
Beispiel $arr[12][1]='Carsten':
PHP-Code:
echo "Hallo, ich bin: {$arr[12][1]}";
$zahl=12;
echo 
"Hallo, ich bin: {$arr[$zahl][1]}"
Beispiel $arr[12]['name']='Carsten':
PHP-Code:
echo "Hallo, ich bin: {$arr[12]['name']}";
$zahl=12;
echo 
"Hallo, ich bin: {$arr[$zahl]['name']}";
$feld='name';
echo 
"Hallo, ich bin: {$arr[12][$feld]}";
echo 
"Hallo, ich bin: {$arr[$zahl][$feld]}"
Das sollten alle richtigen Varianten sein. Falsche will ich gar nicht erst veröffentlichen, soll sich ja keiner merken...

Die geschweiften Klammern tragen dazu bei, dass PHP weiß, was alles zu einer Variable gehört. Lässt man sie weg sollte kein Fehler auftreten, aber die Ausgabe entspricht dann nicht mehr den Erwartungen.
Also immer, wenn Werte aus mehrdimensional verschachtelte Arrays oder assoziative Arrays ($arr['name'] ist eines) ausgegeben werden sollen, dann geschweifte Klammern darum setzen!

Warum hier nur mit " und nicht mit ' gearbeitet wurde? Oben anfangen zu lesen!


So, ich hoffe die Welt damit zu einem besseren und sicheren Ort gemacht zu haben. :)
__________________
sic!
--> http://dbCF.de/

Geändert von c4 (08.07.2005 um 11:10:37 Uhr)
Mit Zitat antworten
  #2  
Alt 24.06.2005, 14:01:43
Benutzerbild von dachris
dachris dachris ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 401
AW: Ausgaben ordentlich realisieren

Bild würde sagen....

Er hat recht :-)

zum Teil :-)

http://de2.php.net/manual/de/languag....string.substr
Mit Zitat antworten
  #3  
Alt 29.06.2005, 14:23:21
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
AW: Ausgaben ordentlich realisieren

Stimmt, diesen Einsatzzweck hatte ich vergessen. Da er aber eh nicht empfohlen wird, sei mir das verziehen. :)
Aber gut, dass der Link hier steht!
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Skript nach Timeout ordentlich beenden c4 PHP für Fortgeschrittene und Experten 14 03.05.2005 14:21:27
Mehrsprachig wie realisieren Neofox PHP Grundlagen 8 14.05.2004 18:11:08
Eine Art XML-Datenbank realisieren cridde PHP für Fortgeschrittene und Experten 2 21.10.2003 21:08:10
Wie speichert man ein ' ordentlich in einer MySQL DB? c4 PHP für Fortgeschrittene und Experten 8 09.08.2002 19:43:04
verschiedene ausgaben... |Coding PHP für Fortgeschrittene und Experten 5 04.07.2002 21:33:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:03:12 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt