【问题标题】:php syntax question [duplicate]php语法问题[重复]
【发布时间】:2011-06-04 11:05:16
【问题描述】:

可能重复:
Difference between single quote and double quote string in php

php中单引号'和双引号"有什么区别?我的想法是当一个人使用单引号时,它有一些核心价值需要在程序中使用,如果双引号它只是一个字符串。我说的对吗?

【问题讨论】:

    标签: php


    【解决方案1】:

    最大的不同是,如果使用双引号,字符串内部的任何变量或特殊转义码都会被展开;而使用单引号,则不会发生扩展。

    例子:

    $var = "foobar";
    echo $var; // "foobar"
    echo '$var'; // "$var"
    echo "$var"; // "foobar"
    
    echo '\n'; // "\n"
    echo "\n"; // prints an actual new line
    

    有关差异的完整列表,请参阅有关字符串的 PHP 文档:http://us3.php.net/manual/en/language.types.string.php

    【讨论】:

      【解决方案2】:

      用双引号创建的字符串将被 PHP 解析,单引号中的字符串不会。还有其他区别,例如双引号中的字符串 PHP 将解释特殊字符的转义序列。 PHP manual 全面解释了这些差异。

      例如,

      $string = 'World';
      echo 'Hello' . $string; // "Hello World"
      echo "Hello $string"; // "Hello World"
      echo 'Hello $string'; // "Hello $string"
      

      【讨论】:

        【解决方案3】:

        除了已经描述的变量扩展之外,双引号还解释\n(作为换行符)、\t(作为制表符)和其他转义序列defined in the manual。单引号仅将\\ 解释为一个反斜杠,\' 解释为单引号,其他组合按字面意思理解-即strlen('\n') == 2、strlen("\n") == 1

        【讨论】:

          【解决方案4】:

          这两者的主要区别在于用双引号创建的字符串会被 PHP 解析,而单引号不会。

          // they both output 'Yahoo Google'
          $str = 'Google';
          echo 'Yahoo' . $str;
          echo "Yahoo $str";
          

          有关这些的更多信息,请参见下面的链接

          http://ca.php.net/types.string

          【讨论】:

            【解决方案5】:

            除了其他答案中提到的,如果你使用单引号',里面的双引号将被视为普通字符,不需要转义,反之亦然。

            例如两者都会打印He said, "Hi there Jack"

            echo 'He said, "Hi there Jack"';  
            
            echo "He said, \"Hi there Jack\"";
            

            【讨论】:

              猜你喜欢
              • 2023-03-14
              • 2011-03-23
              • 2013-05-31
              • 1970-01-01
              • 2011-09-21
              • 2011-07-29
              • 1970-01-01
              相关资源
              最近更新 更多