HTML& PHP:Doublequotes-Singlequotes Issue

时间:2010-08-17 02:50:16

标签: php html syntax

HTML

中的

我们可以

face='Tahoma'
face="Tahoma"

并在 PHP

$name = "Junaid";
$name = 'Junaid';
$names = array('Junaid','Junaid','Junaid');
$names = array("Junaid","Junaid","Junaid");

现在所有这些陈述都适用于单引号或双引号但

  • 它有什么不同
  • 这是首选方法
  • 在哪里使用什么类型的报价

以下哪一项是正确的

$link = "www.anyLINK.com"

echo "<a href=' ". $link ." '>Click Here</a>"

echo "<a href= ". $link ." >Click Here</a>"

3 个答案:

答案 0 :(得分:2)

PHP中单引号和双引号之间的区别在于PHP将读取双引号内的变量但不是单引号。例如:

<?php
$variable = "test";

echo "Can you see this $variable"; // Can you see this test
echo 'Can you see this $variable'; // Can you see this $variable

?>

单引号将被读取为literal,其中double将尝试用它的值替换$ variable。

优化差异
正如下面的评论中所指出的,单引号趋势要快于双倍。在快速基准测试中,任何$被转义的双引号是最快的vs单和双,有和没有$variables的字符串。见http://codexon.codepad.org/54L3miwN

答案 1 :(得分:1)

请参阅http://php.net/manual/en/language.types.string.php

特别是,变量用双引号扩展:

$foo = 42;
print('foo is $foo'); // foo is $foo
print("foo is $foo"); // foo is 42

答案 2 :(得分:0)

在HTML中,它根本不重要。

在PHP中,确实如此。使用单引号可以防止变量被解释;例如,echo '$foo';将打印“$ foo”。不是变量,只是字符。此外,你必须在单引号内转义单引号,而不是双引号内的单引号等。我在here之前回答了这个问题。

关于你的第二个问题,他们都错了。它应该是:

echo "<a href='". $link ."'>Click Here</a>"

或者,更好的是:

echo "<a href='$link'>Click Here</a>"

或者更好的是,像Smarty TPL这样的模板引擎。