php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.06.2007, 00:11  
Benutzer
 
Registriert seit: 22.04.2005
Beiträge: 59
Aris Sung
Standard ' oder "

ich durchstreife gerade meine quelltexte und bemerke oft das ich bei vielen aktionen ' oder " verwende.
Beispiel 1:
Code:
require('head.php');
oder
Code:
require("head.php");
Beispiel 2:
Code:
echo $_POST['user'];
oder
Code:
echo $_POST["user"];
Beispiel 3:
Code:
echo date('H:i:s',time());
oder
Code:
echo date("H:i:s",time());

tatsache ist, dass die skripte bei beiden möglichkeiten ohne erkennbaren unterschied funktionieren. frage mich jetzt doch, ob es vielleicht bei irgendeinem Fall x eine rolle spielt ob man nun ' oder " benutzt.

thx für die antwort
Aris Sung ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.06.2007, 00:17  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Ja, das spielt eine Rolle.
Und der Unterschied steht hoffentlich in absolut jedem Grundlagenkapitel über Zeichenketten, das Du je gelesen hast.

Stichwort: Ersetzung von Variablen und Sonderzeichen.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 10.06.2007, 00:29  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Grundlagenkapitel oder noch einfacher: PHP-Manual.

Als kleine Übungsaufgabe:
PHP-Code:
$zahl 4;
$variante1 "Ich habe $zahl Gurken";
$variante2 'Ich habe $zahl Gurken';
$variante3 "Ich habe " $zahl " Gurken";
$variante4 'Ich habe ' $zahl ' Gurken'
Was steht jeweils in den Variablen?
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 10.06.2007, 01:12  
Benutzer
 
Registriert seit: 22.04.2005
Beiträge: 59
Aris Sung
Standard

ok. bei Single quoted werden variabeln im gegensatz zu Double quoted nicht ausgewertet.
zeigt ja auch das beispiel von KingCrunch. variante 3 ist für mich standard. hoffe das das so richtig ist.
trotzdem...wenn ich mir nunn nochma oben beispiel 1 und 2 anschaue. was ist den nun die richtige methode?
Aris Sung ist offline  
Alt 10.06.2007, 03:36  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Unabhängig von deinen Beispielen: Hast du nur statischen Inhalt, dann verwende die Single-Quotes, hast du dynamischen Inhalt, dann verwende entweder Double-Quotes oder die Konkatenation mit Single-Quotes (Variante 3). In erster Linie ist es aber Geschmackssache. Wichtig ist bloss, dass du den Unterschied kennst, weil wenn du später in Single-Quotes eine Variable einfügt, sollte es dich nicht beunruhigen, dass es nicht funktioniert


Es gibt schon Geschwindigkeitsunterschiede, aber auch hier gilt: Der Geschwindigkeitsunterschied ist vernachlässigbar im Verhältnis zum wartbaren Code. Man sollte das nehmen, was übersichtlicher ist. Ich persönlich verwende zum Beispiel fast ausschließlich Single-Quotes mit Konkatenation, aber das is nun mal nicht jedermanns Sache. DIE richtige Methode gibt es nunmal nicht

Allerdings ist bei mir Variante 3 Quatsch, weswegen es mich überrascht, dass du ausgerechnet die erwählt hast Oo In Double-Quotes sucht PHP immer nach möglichen Variablen, die es zu ersetzen gibt. Dann aber ihn keine Variable geben, dafür aber weitere Operationen (die Konkatenation ) anzuhängen, um ein Variableninhalt einzufügen, is eher paradox

Bissel was zum Nachlasen:
Teil 1
Teil 2

Aber beiß dich darauf nicht fest: Wichtiger ist, dass du deinen Code weiterhin verstehst (und möglichst alle anderen auch ^^), als das er ultra-performant ist.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 10.06.2007, 12:03  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von KingCrunch
Unabhängig von deinen Beispielen: Hast du nur statischen Inhalt, dann verwende die Single-Quotes, hast du dynamischen Inhalt, dann verwende entweder Double-Quotes oder die Konkatenation mit Single-Quotes (Variante 3).
Ganz so einfach ist es nicht.
Auch wenn man Sonderzeichen ausgeben will, wie z.B. \n, muss man auf die double Quotes zurückgreifen.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 10.06.2007, 12:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hier stehts nochmal:
http://de.php.net/manual/de/language.types.string.php

Wegen der Geschwindigkeit brauchst du dir keinen Kopf machen, allerdings würde ich, wenn es egal ist, natürlich die schnellere Variante wählen (Single Quotes).

Am Ende muss es allerdings übersichtlich sein, wenn du viele Variablen in einen String braten möchtest würde ich von ' abraten oder gleich sprintf() verwenden.
Zergling-new ist offline  
Alt 15.06.2007, 12:01  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

Zitat:
Wegen der Geschwindigkeit brauchst du dir keinen Kopf machen, allerdings würde ich, wenn es egal ist, natürlich die schnellere Variante wählen (Single Quotes).
Komisch das der Benchmark den KingCrunch verlinkt, die Doublequotes als schneller bescheinigt...
http://benchmark.nophia.de/benchmark...tml#auswertung
http://benchmark.nophia.de/benchmark...tml#auswertung
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
Alt 15.06.2007, 12:18  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Komisch, ich glaub ich äußer mich zu Geschwindigkeiten einzelner PHP-Elemente garnicht mehr. Es gebietet ja allein die Logik, dass die Single Quotes schneller sein müssten, denn der Parser muss den String nicht analysieren und gegebenenfalls Variablen darin ersetzen.
Zergling-new ist offline  
Alt 15.06.2007, 12:21  
CIX88
Gast
 
Beiträge: n/a
Standard

Als ob μs-Werte in DSL-Zeiten eine Rolle spielen würden
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php konkatenation von single und double quotes

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.