四次元口袋
2019-07-24 13:36
采纳率: 0%
浏览 521

Php 中单引号字符串和双引号字符串的区别是什么?

我不是 PHP 编程方面的专家,但是我有点困惑为什么我看到一些 PHP 代码的字符串放在单引号中,有时放在双引号中。
我只是知道。 NET,或 c 语言,如果它是单引号,这意味着它是一个字符,而不是字符串。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • ermaotech 2019-07-24 13:45
    • 在php中,如果字符串用双引号包含的话,解释器在解释的时候,会认为里面有php变量,会首先尝试解析变量,之后再按照正常的字符串进行处理;
    • 在单引号中,解释器会认为就是个字符串,哪怕有php变量在字符串中也会认为是字符串,而不是变量
    $n = 1;
    echo '$n的值是:' . "$n";    -- $n的值是:1
    
    评论
    解决 无用
    打赏 举报
  • weixin_38166435 2019-07-24 13:53

    不仅可以通过两种方式指定PHP strings,还可以通过四种方式指定。
    1. 单引号字符串
    几乎完全按照原样展示 变量和大多数转义序列将不会被解释。 例外的情况是,要显示单引号,可以用反斜杠\'对其进行转义,你可以转义它与另一个反斜杠\ (所以,是的,即使是单引号的字符串也会被解析).
    2. 双引号字符串
    将显示大量转义字符(包括一些正则表达式) ,并计算字符串中的变量。 这里有一点很重要可以使用花括号来隔离要求值的变量的名称. 例如,假设你有一个变量$type你该怎么做echo "The $types are" 这将寻找变量$types . 为了避免这种使用echo "The {$type}s are" 你可以把左大括号放在美元符号之前或之后。
    3. Heredoc
    字符串语法像双引号字符串一样工作。它开始于<<<。 在这个操作符之后,提供了一个标识符,然后是换行符。字符串本身紧随其后,然后再次使用相同的标识符来关闭引号。在这种语法中,不需要转义引号
    4. nowdoc诺多克
    ( PHP 5.3.0后有的)字符串语法的工作原理基本上类似于单引号字符串。 区别在于,即使是单引号或反斜杠也不需要转义。一个 nowdoc 被认为是相同的<<< 但是后面的标识符用单引号括起来,例如:<<<'EOT'。 在 nowdoc 中不进行解析

    评论
    解决 无用
    打赏 举报
  • weixin_38166411 2019-07-24 14:17

    用双引号而不是单引号来计算:

    $s = "dollars";
    echo 'This costs a lot of $s.'; // This costs a lot of $s.
    echo "This costs a lot of $s."; // This costs a lot of dollars.
    
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题