verständnisfrage
steffen
- php
hi,
$td = "<td>".$link[0]."<img src="./$bild_datei.JPG">".$link[1]."</td>";
wieso funktioniert das, obwohl die variable $bild_datei nicht in ".$bild_datei." gemacht wurde?
Kann mir das wer erklären?
mfg steffen
Hi Steffen,
weil der PHP-Interpreter Variablen innerhalb von " durch ihren Wert ersetzt.
Hi Steffen,
schau mal hier:
http://de.php.net/manual/en/language.types.string.php#language.types.string.parsing
Da kannst Du es nachlesen (es hat etwas mit dem parsen von Strings
zu tun)
Viele Grüße
annA
hi,
wieso funktioniert das ganze dann nicht bei arrays, oder wieso schreibt man öfters dann ".$var[1]." ? und nicht gleich
echo "hi $var[1]";
sollte ja gehen oder?
mfg steffen
Hi Steffen,
es ist eben einfach sauberer, es zwischen Punkte zu packen,
dann passieren nämlich keine unerwarteten Dinge
probier mal diesen Code:
<?php
$var = array( "hallo" );
$var = "ciao";
echo "$var[0] $var";
?>
Gruß
annA
naja, ich gebs zu... das Beispiel hinkt etwas *g*
habe wohl zu wenig geschlafen...
aber hier sind Beispiele, warum das andere Verfahren sicherer ist:
$beer = 'Heineken';
echo "$beer's Geschmack ist großartig"; // funktioniert, "'" ist kein gültiges
// Zeichen für einen Variablennamen
echo "Er hat einige $beers getrunken"; // funktioniert nicht, 's' ist ein gültiges
// Zeichen für einen Variablennamen
echo "Er hat einige ${beer}s getrunken"; // funktioniert
hi,
Hai,
$td = "<td>".$link[0]."<img src="./$bild_datei.JPG">".$link[1]."</td>";
wieso funktioniert das, obwohl die variable $bild_datei nicht in ".$bild_datei." gemacht wurde?
Kann mir das wer erklären?
Also, php ersetzt innerhalb eines Strings die Variablen durch ihren Wert. Dies allerding nur, wenn der String in " eingefasst wurde. Wenn du das automatische ersetzen explizit ausschalten willst, dann musst du den String in Hochkomma (') setzen. Dies kann mitunter wichtig sein, wenn du im String ein Dollarzeichen verwenden willst.
<? $Name = "Steffen"; echo "Hallo $Name"; ?>
-> Hallo Steffen
<? $Name = "Steffen"; echo 'Hallo $Name'; ?>
-> Hallo $Name
mfg steffen
Thats all Folks
René