2011-07-18 92 views
0

我刚刚开始学习PHP,我在网上使用PHP:Visual Quickstart Guide第4版,我有一个关于我在书中学到的脚本的问题,只是写道。PHP中单引号和双引号字符串有什么区别?

这是脚本的代码:

 print '<p>Thank you, ' .$title.$name. ' for your comments.</p> 
    <p>You stated that you found this example to be "'.$response.'" and added:<br />' 
    .$comments.'</p>'; 

    print "<p>Thank you, $title $name for your comments.</p><p>You stated that you found this example to be '$response' and added:<br/>$comments</p>"; 

这个脚本是刚刚从通过POST拉HTML表单中显示的一些数据。

这样做的正确方法是什么?在这种情况下,我很难理解' vs "

第二个例子是本书的一个例子,第一个例子是我在试图理解“vs”问题后发现该怎么做的。关于这个问题,在哪里找到一个好的位置' VS "

+1

*(参考)* http://www.php.net/manual/en/language.types.string.php – Gordon

回答

2

双引号字符串被PHP解析器解析为变量和转义字符,如\n

$x = 10; 
echo "$x dollars"; // Outputs: 10 dollars 

单引号字符串没有得到解析这样:

$x = 10; 
echo '$x dollars'; // Outputs: $x dollars 

,并输出10 dollars你需要做字符串连接:

$x = 10; 
echo $x.' dollars'; 

字符串中解析变量的使用更多的内存和比字符串连接需要更多的时间。所以单引号几乎总是最好的方式。尽管差异很小。

+0

谢谢,这有助于为我解决问题。 – AlexBeau

0

双引号是用来解析字符串中的变量。如果你使用"Hi, $name",它会正确解析的变量,例如,Hi, AlexBeau。如果您想使用'Hi, $name',它会输出Hi, $name

如果您在询问有关使用.连接st戒指,这并不重要。按照我之前提到的规则使用它。

虽然没有解析,但单引号应该会更快。

+0

非常感谢您的帮助。 – AlexBeau

2

在PHP中,双引号字符串中的变量被替换为它们的值。这在单引号字符串中不会发生。

例如:

$make = 'Nisaan'; 
$model = 'Altima'; 

echo 'I drive a $make $model.'; // I drive a $make $model. 
echo "I drive a $make $model."; // I drive a Nissan Altima. 

您还可以使用连接运算符.使用一个变量的值的字符串:

echo 'I drive a '.$make.' '.$model.'.'; // I drive a Nissan Altima. 

更多关于PHP字符串,检查PHP文档:http://php.net/manual/en/language.types.string.php

-2

你在哪里看到“vs”?它只是意味着“与...相比” - 与之相比。

这两个示例的区别在于第一个使用单引号和字符串连接(将字符串彼此相加),第二个使用双引号和插值(从环境中获取变量直接插入到单个字符串中) 。

+0

在OP的问题中,它说''vs。''''vs'''。他问的是单引号和双引号之间的区别。 –

相关问题