【问题标题】:What is the difference between ' and " in PHP? [duplicate]PHP中的'和'有什么区别? [重复]
【发布时间】:2010-11-27 00:24:54
【问题描述】:

可能重复:
PHP: different quotes?

简单的问题:

php 中的 ' 和 " 有什么区别?什么时候应该使用?

【问题讨论】:

  • 请在发布新问题之前搜索stackoverflow(搜索框在右上角)。
  • 我确实做到了。显然还不够好。谢谢
  • 资料库越大越难真正找到。到目前为止,我见过的最糟糕的例子是 Mozilla 的错误跟踪器。 Stack Overflow 与一些主题密切相关,在这些主题中您无法确定使用的术语,甚至更不确定用于查找它的搜索术语。
  • @Johannes Rössel,Google 有时会帮助搜索我。 =]

标签: php syntax


【解决方案1】:

基本上,单引号字符串是几乎没有特殊情况的纯文本,而双引号字符串具有可变插值(例如echo "Hello $username";)以及转义序列,例如“\n”(换行符)。

您可以在PHP's manual 中了解有关字符串的更多信息。

【讨论】:

    【解决方案2】:

    3 syntax used to declare strings,在 PHP

    带单引号:

    变量和转义序列 特殊字符不会 展开

    例如:

    echo 'Variables do not $expand $either';
    

    将输出:

    Variables do not $expand $either
    


    带双引号:

    最重要的特点 双引号字符串是这样的事实 变量名将被扩展。

    例如:

    $a = 10;
    echo "a is $a";
    

    将输出:

    a is 10
    


    并且,使用heredoc:

    Heredoc 文本的行为就像 双引号字符串,没有 双引号。这意味着引号 在heredoc中不需要 逃跑了,

    例如:

    $a = 10;
    $b = 'hello';
    
    $str = <<<END_STR
    a is $a
    and "b" is $b.
    END_STR;
    
    echo $str;
    

    会得到你:

    a is 10
    and "b" is hello.
    

    【讨论】:

      【解决方案3】:

      " 引用的字符串中的任何变量都将被解析。' 引用的字符串中的任何变量都不会被解析,并且将按字面意思显示为变量名。因此,' 引用的字符串对于 PHP 来说要稍微快一点过程。

      $test = 'hello';
      echo "this is a $test"; // returns this is a hello
      echo 'this is a $test'; // returns this is a $test
      

      我会说使用 ' 引号,除非您希望在字符串中包含变量。

      【讨论】:

        【解决方案4】:

        不同之处在于,双引号 (") 之间的字符串被解析为变量和转义序列替换。单引号 (') 中的字符串不是。

        所以,使用双引号 (") 你可以这样做:

        $count = 3;
        echo "The count is:\t$count";
        

        会产生

        The count is:<tab>3
        

        单引号中的相同返回文字字符串。

        还有需要转义的字符。如果你有这样的字符串:

        'John said, "Hello"'
        

        您可能会使用单引号,以避免转义字符串中的引号,反之亦然。

        【讨论】:

          【解决方案5】:

          " 解释转义字符和变量。' 也不做。

          【讨论】:

            【解决方案6】:

            一句话:当您希望所有特殊字符(如 \n)和变量(如 $number)都被注意到并处理时。

            【讨论】:

              猜你喜欢
              • 2011-09-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-12-17
              • 2017-02-17
              • 2011-09-27
              • 2013-04-22
              • 2012-03-29
              相关资源
              最近更新 更多