Antworten auf deine Fragen:
Neues Thema erstellen

PHP und die Anführungszeichen

_tnt_

pixel!

tach,
wie sieht das in php mit den anführungszeichen aus.

bei " schaut php ob in einem string variablen vorhanden sind
bei ' gibt php 1:1 das geschriebene aus

aber mir ist bei so manchem quellcode aufgefallen, dass bei der variablenzuweisung auch anführungszeichen verwendet werden.

$var = "abc"
$var = 'abc'
$var = abc

wo ist jetzt bei den 3 varianten der unterschied?

wenn ich jetzt zB angib

echo "<br />"; --> Zeilenumbruch (logisch)

echo '<br />'; --> Zeilenumbruch (warum wird hier nicht <br /> ausgegeben? was müsst ich machen, damit <br /> ausgegeben wird?

echo <br />; --> Fehler (logisch)


_tnt_
 

uebelduebel

Noch nicht viel geschrieben

AW: PHP und die Anführungszeichen

schreib:
echo "&lt; br / &lt;"

&lt; = <
&gt; = >

Dann wird der HTML Code nicht Interpretiert.
 
Zuletzt bearbeitet:

ChrisvA

Aktives Mitglied

AW: PHP und die Anführungszeichen

$var = "abc"
$var = 'abc'
$var = abc
Zwischen den ersten beiden ist kein Fehler. Nummer 3 dürfte zu einenem Fehler führen.
Der Unterschied zwischen " und ' liegt zum einen, wie du schon sagtest, in der Interpretation von Variablen, ein anderer Unterschied ist aber auch, dass du bei " Escapesequenzen benutzen kannst, z.B. \n (neue Zeile) \t (Tab)
Falls du '\n' schreibst, wird das \n einfach nur ausgegeben. Bei "\n" wird es ersetzt und an der Stelle erscheint im Quelltext eine neue Zeile.

PS: Wichtig beim Verstehen von PHP. Falls du dich fragst, was ausgegeben wird schaue dir immer den Quelltext an, traue der Browserausgabe nicht. (Auch Firebug zeigt dir nicht unbedingt der Quelltext an!)
 

_tnt_

pixel!

AW: PHP und die Anführungszeichen

thx - ok das mit den ' und " versteh ich jetzt. warum mein <br /> nicht ausgegeben wird versteh ich auch. ist ja logisch. war gestern schon spät.

aber das mit der variablenzuweisung ist mir noch nicht ganz klar, warum ich anführungszeichen verwenden muss und warum brauch ich bei zahlen keine?

Code:
<?php
        // ---- variante 1-------------------------------------------
	$tor = 'a';
	
	if ($tor == 'a')
		{
			echo 'Gewinn';
		}
	else if ($tor == 'b')
		{
			echo 'Niete';
		}
	else
		{
			echo 'Das ist kein Tor';
		}

        // ---- variante 2-------------------------------------------
	$tor = c;
	
	if ($tor == c)
		{
			echo 'Gewinn';
		}
	else if ($tor == d)
		{
			echo 'Niete';
		}
	else
		{
			echo 'Das ist kein Tor';
		}
		
	// ---- variante 3-------------------------------------------	
	$var1 = "abc";
	$var2 = 'abc';
	$var3 = abc;
	
	$var4 = "123";
	$var5 = '123';
	$var6 = 123;
	
	
	echo "$var1 $var2 $var3";
	echo "$var4 $var5 $var6";
	
?>

es wird immer das selbe ausgegeben. das verwirrt mich :D
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP und die Anführungszeichen

Dich verwirrt es, weil PHP dir einige Dinge abnimmt, indem es Annahmen und folglich Entscheidungen trifft.
Wenn du etwas angibst, was wie ein String (Zeichenkette) interpretiert werden könnte, nimmt er das eben. Sieht es mehr nach einer Zahl aus, behandelt er es wie eine Zahl. Im Fachjargon heißt dieses Verhalten "dynamische Typisierung". Das soll dir den Einstieg in die Sprache erleichtern, aber es führt (der Erfahrung nach) eher zu Fehlern.

Beispiel:
PHP:
<?php

$x = 123; //zieht wie eine Zahl aus
echo gettype($x)."<br />"; //und wird als Integer / natürliche Zahl angesehen

$x = a123; //wird wohl keine Zahl sein, wenn ein Buchstabe drin ist
echo gettype($x)."<br />"; //und wird entsprechend als String behandelt

$x = "123"; //sieht wie eine Zahl aus
echo gettype($x)."<br />"; //aber ist durch die Anführungszeichen als String ausgezeichnet worden

?>

Beachte hier auch, dass ich eine Variable die vorher eine Zahl beinhaltet hat, einfach mit einem String füllen kann. Statisch getypte Sprachen würden hier meckern.

Gewöhne es dir aber auf keinen Fall an, Strings ohne Anführungszeichen zuzuweisen. Denn so etwas geht nicht:
PHP:
<?php
$x = hallo welt;
?>


Duddle
 

_tnt_

pixel!

AW: PHP und die Anführungszeichen

zusammengefasst,
* bei zahlen brauch ich nichts
* für die anderen sachen nehme ich '
* außer ich hab zB ech "Hella $name" da nehm ich "
 

ChrisvA

Aktives Mitglied

AW: PHP und die Anführungszeichen

Eine weitere Möglichkeit für Variablen wäre folgender Syntax:
'Hallo '.$name
Da ist es außerdem noch eindeutig, wenn du an den Name noch unmittelbar einen Buchstaben anhängen möchtest, bsp. $name.'s Auto' (OK schlechtes Beispiel, da müsste ein 's hin, und dann würde er es auch mit der " Methode akzeptieren da ' kein teil einer Variablen ist, eben nur ein Beispiel)
 

puur

Nicht mehr ganz neu hier

AW: PHP und die Anführungszeichen

Alo ich nutze am liebsten folgendes:
Code:
<?php 
$x = "String"; 
echo "Hallo {$x}"; 
?>

Das fällt mir am leichtesten, weil ich das Gefühl habe viel weniger Zeichen escapen zu müssen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.640
Beiträge
1.538.506
Mitglieder
67.560
Neuestes Mitglied
azmostbethaot
Oben