I PHP kan du antingen använda: "sträng" eller 'sträng'. Så länge du inte har variabler i strängen blir det ingen skillnad. Dessutom kommer ett " i en 'sträng' att behandlas som vilket som helst annat tecken - och tvärtom! Alltså:
$strDouble = "My first string's here";
$strSingle = 'Quoting John: "Nice weather".';
Om du har variabler i strängen kommer första skillnaden:
$name = 'John';
echo "$name said hi"; //==> John said hi
echo 'Quoting $name "Nice weather".'; ////==> Quoting $name "Nice weather".
Dvs " "- stoppar in variabelns värde, medan ' ' skriver ut EXAKT det som står i den. Evalueringen av variabelnamn i " " funkar bara om det är en vanlig variabel inte för arrayceller. För att få det att funka för dessa måste man trixa lite:
$name = array('John', 'Emma');
echo $name[0]." said hi"; //==> John said hi
//eller
echo "{$name[0]} said hi"; //(ska) också funka (?)
//eller
echo $name[0].' said hi'; //==> John said hi
//Går INTE
echo '{$name[0]} said hi'; //==> {$name[0]} said hi
Det är bara om du måste ha en " i " " eller en ' i ' ' som den behöver escape:as.
$strDouble = "Quoting John's niece: \"Nice weather\".";
$strSingle = 'Quoting John\'s niece: "Nice weather".';
För övrigt kan du slå ihop strängar av olika slag, men det kan bli superrörigt i din egen programmerarhjärna så jag försöker undvika det om det inte finns särskilda skäl.
$concat = "Quoting John's niece:".' "Nice weather".';