斜杠和''之间的差异

时间:2013-03-29 18:55:59

标签: php escaping quotes double-quotes

很抱歉,如果有一个与此非常相似的问题,或者在其他地方有答案,但我最近有一个问题在我的脑海中。

大多数精通编程语言和字符串的人都知道你可以用斜杠(\“)

来逃避引用

例如:echo "<input name=\"submit\" type=\"submit\" id=\"brandid\" value=\"submit\" />\n";

但我通常使用的是“内部”而不是斜杠。所以上面的代码看起来像这样:

echo "<input name='submit' type='submit' id='brandid' value='submit' />\n";

有人可以解释两者之间的差异以及两者之间的优缺点吗?对不起,如果我没有使用正确的术语或遗漏了什么。

感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:2)

取决于您喜欢什么,以及您需要做什么。如果我需要做很多变量替换,可以使用双引号和花括号(如果需要)。如果我不需要,我个人不喜欢添加额外的不必要的标记(读取:转义)。

echo "Hello \"$username\", your last visit was on $lastVisit at $time";

与......相反。

echo 'Hello "'.$username.'", your last visit was on '.$lastVisit.' at '.$time;

如果它是简单的HTML标记并且不需要变量替换,那么单引号就可以了。

echo '<a href="index.php">Home</a>';

这里没有正确答案。

答案 1 :(得分:2)

在你的情况下,差异并不大。你可以使用它们中的任何一个。对于一些需要传递值的JavaScript事件来说,这是显而易见的

echo "<input name='submit' type='submit' onclick='MyAwesomeFunction(\"a string\", \"to be\", \"passed here\");' />\n";

虽然,我更喜欢以下内容:

?>
<input name='submit' type='submit' onclick='MyAwesomeFunction("a string", "to be", "passed here");' />
<?php