Nu har michael sådanset besvaret spørgsmålet men jeg vil lige tilføje noget.
Grunden til at man bruger " eller ' ved strings, er at fortælle php hvor meget der høre sammen.
$str = print print if($i==1) print $i;
Her er det umuligt at vide hvad $str indeholder, så for at fortælle php hvad der er tekst i dit script, og hvad der er php kommandoer smækker du "/' om.
$str = 'print print if($i==1) print $i';
Nu ved php at $str er en string, der indeholder print print if($i==1) print $i. Så du behøver ikke at smække "/' på. Så print "$str"; er overflødigt, print $str; er nok.
Der er også en forskel på om du bruger ' eller ". Et eksempel $svar = 42; print "er svaret: $svar"; // udskriver: er svaret: 42 print 'er svaret: $svar'; // udskriver: er svaret: $svar
Så når du bruger " om en string, så bliver $variable-navne erstattet med deres indhold. Dette sker ikke for string med '-om.
if(isset($_GET['open']) && $_GET['open'] == '$id') { Så derfor er dette forkert, du vil jo tjekke om $_GET['open'] har samme værdi som indholdet af $id - og ikke selve ordet $id.
Du mener jo indholdet af $id, så if(isset($_GET['open']) && $_GET['open'] == "$id") { er bedre, men da det bare er en variabel, så er ""'erne overflødige if(isset($_GET['open']) && $_GET['open'] == $id) { er fint.
heredoc (som <<<EOF kaldes) virker på samme måde som ", men det har du nok luret nu :-)
Håber det hjalp lidt, selvom det er lidt dårligt forklaret.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.