2013-04-18 1 views
-1

J'ai une petite question concernant l'utilisation de guillemets simples et de guillemets simples.Comportement différent basé sur un devis simple ou double

Lorsque j'utilise le code ci-dessous avec des guillemets doubles echo "":

$result_entries = mysqli_query($con,"SELECT * FROM bhost_entries where author_u_id='$user_info[u_id]'"); 
while($entries = $result_entries->fetch_object()) 
    { 
    echo " 
    <tr> 
    <td> 
    {$entries->title} 
    </td> 
    </tr> 
    "; 
    } 

..output sera

Entry1 
Entry2 
Entry3 
etc.. 

Mais quand j'utilise le même code avec un seul devis echo '' Je vais:

{$entries->title} 
{$entries->title} 
{$entries->title} 
etc.. 

comme sortie.

Pourquoi se comportent-ils différemment?

Appréciez vos pensées.

+2

PHP ne traite pas $ vars entre guillemets simples 'doubles seulement – Dave

+1

il suffit de cocher http://stackoverflow.com/questions/3446216/what-is-the-difference-between- guillemets simples-et-guillemets-doubles-en-php –

+0

http://php.net/manual/en/language.types.string.php – str

Répondre

4

C'est parce que c'est la principale différence entre les qoutes simples et doubles. Les qoutes uniques n'analysent pas les variables tandis que les doubles qoutes analysent les variables.

+0

Merci pour la courte explication. Donc, en d'autres termes devrais-je utiliser des guillemets doubles ou des guillemets simples pour ma sortie? Ou que suggérez-vous? –

+0

Lisez http://php.net/manual/fr/language.types.string.php et utilisez ce dont vous avez besoin. Il n'y a pas de vrai et de faux. – str

+1

Vous devez utiliser qoutes doubles si vous voulez mettre vos variables dans qoutes et il doit être analysé ou bien vous pouvez utiliser des qoutes simples. –

0

Si vous souhaitez utiliser des guillemets simples que vous devez faire ceci:

echo ' 
    <tr> 
    <td> 
    '.$entries->title.' 
    </td> 
    </tr> 
    '; 

si vous voulez utiliser des guillemets doubles, vous pouvez coller avec votre syntaxe originale! Comme indiqué précédemment, les guillemets doubles permettent à la variable php d'être analysée avec la syntaxe correcte alors que les guillemets simples ne le sont pas. Gardez cela à l'esprit lorsque vous devrez échapper des guillemets simples ou doubles dans une chaîne php.

echo 'Arnold once said: "I\'ll be back"'; 

de PHP Manual

Questions connexes