代码之家  ›  专栏  ›  技术社区  ›  Moon

HTML&PHP:Doublequotes单引号问题[duplicate]

  •  0
  • Moon  · 技术社区  · 14 年前

    在里面 HTML格式

    face='Tahoma'
    face="Tahoma"
    

    而且在 菲律宾比索

    $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 回复  |  直到 12 年前
        1
  •  0
  •   Community datashaman    7 年前

    在HTML中,这一点都不重要。

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

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

    或者,更好的是:

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

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

        2
  •  2
  •   Robert    14 年前

    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,其中was double将尝试用它的值替换$variable。

    优化差异
    正如下面的评论所指出的,单引号 比翻倍还快。在快速基准测试中,使用任意 $ 的逃脱是最快的对单双打有和没有 $variables http://codexon.codepad.org/54L3miwN

        3
  •  1
  •   Ed Mazur    14 年前

    看到了吗 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