我刚刚开始学习PHP,我正在使用 PHP for the Web:Visual Quickstart Guide第4版,我对本书中学到的脚本提出了一个问题并且刚刚写了。
这是脚本的代码:
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'问题后发现如何做的一个例子。关于这个,在哪里找到关于{的信息的好位置{1}} vs '
。
答案 0 :(得分: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
答案 1 :(得分: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';
在字符串中解析变量会占用更多内存,并且比字符串连接需要更多时间。所以单引号几乎总是更好的方式。即使差异很小。
答案 2 :(得分:0)
双引号用于解析字符串中的变量。如果您使用"Hi, $name"
,它会正确地将变量解析为Hi, AlexBeau
。如果您使用'Hi, $name'
,则会输出Hi, $name
。
如果您询问使用.
来连接字符串的情况,那么这并不重要。只要按照我之前提到的规则使用它。
单引号应该更快,因为没有解析。
答案 3 :(得分:-2)
你在哪里看到“vs”?它只是意味着“对比” - 与。相比。
两个示例之间的区别在于第一个使用单引号和字符串连接(将字符串相互添加),第二个使用双引号和插值(从环境中获取变量以直接插入单个字符串)。