【问题标题】:Differences between slashes and ' ' [closed]斜杠和''之间的区别[关闭]
【发布时间】:2013-03-20 12:49:15
【问题描述】:

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

大多数精通编程语言和字符串的人都知道,您可以使用斜杠 (\") 转义引号

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

但我通常做的是在 " 中使用 ' 而不是斜杠。所以上面的代码看起来像这样:

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

有人能解释一下两者之间的区别以及两者之间的优缺点吗?抱歉,如果我没有使用正确的术语或遗漏了什么。

提前感谢您的帮助。

【问题讨论】:

  • 越易读越好。请注意,您也可以对echo 使用单引号,然后在内部正常保留双引号
  • @MarkoD 但如果你这样做,\n 将不起作用......
  • @HamZaDzCyber​​DeV 在他的例子中,我怀疑他需要\n,但&lt;br /&gt;。无论如何,我刚才提到他也有第三种选择。他还可以选择在单引号内使用双引号,然后如果他真的需要,可以与 "\n" 连接
  • 两者都不是更好。您应该真正将您的 php 代码与您的演示文稿分开。如果你这样做了,你甚至不需要担心。
  • 那些是反斜杠而不是斜杠。

标签: php escaping quotes double-quotes


【解决方案1】:

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

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>';

这里没有正确答案。

【讨论】:

  • 感谢您的建议。我通常使用您的第二个代码示例。
【解决方案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

【讨论】:

  • 感谢您的回答!
猜你喜欢
  • 2011-10-20
  • 2016-11-20
  • 2012-02-10
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多