2009-09-09 11 views

Répondre

4

Parce que vous utilisez des guillemets simples -. Changement des guillemets doubles et il se comportera comme prévu

Voir la documentation Single quoted strings.

+0

soupir ... DUH ... J'aurais essayé. MAIS, quelle est la vraie différence? Je suppose que je vais juste poster une autre question haha ​​... merci! – johnnietheblack

+3

@johnnietheblack, Lisez la documentation! – strager

3

changement "à" :) (Après cela, tous les caractères spéciaux et variables être remarqué)

$html = " 
<div>This is my title</div>\n 
<div>This is a second div</div>"; 
5

backslashs utilisés dans les chaînes de guillemets simples ne fonctionnent pas comme des caractères d'échappement (en dehors de la seule citation elle-même).

$string1 = "\n"; // this is a newline 
$string2 = '\n'; // this is a backslash followed by the letter n 
$string3 = '\''; // this is a single quote 
$string3 = "\""; // this is a double quote 

Alors pourquoi utiliser des guillemets simples? La réponse est simple: Si vous voulez imprimer, par exemple, le code HTML, dans lequel naturellement il y a beaucoup de guillemets doubles, envelopper la chaîne entre guillemets simples est beaucoup plus lisible:

$html = '<div class="heading" style="align: center" id="content">'; 

C'est beaucoup mieux que

$html = "<div class=\"heading\" style=\"align: center\" id=\"content\">"; 

en outre, étant donné que PHP n'a pas pour analyser les chaînes de guillemets simples pour les variables et/ou des caractères échappées, il traite ces cordes un peu plus vite.

Personnellement, j'utilise toujours des guillemets simples et attacher des caractères de nouvelle ligne à partir de guillemets doubles. Cela ressemble alors

$text = 'This is a standard text with non-processed $vars followed by a newline' . "\n"; 

Mais c'est juste une question de goût: o)

+0

+1 - bonne explication – karim79