单身之间有什么区别

我不是PHP编程的专家,但我有点困惑,为什么我在PHP中看到一些代码,字符串放在单引号中,有时用双引号。

我只是在.NET或C语言中知道它是否在单引号中,这意味着它是一个字符,而不是一个字符串。


不仅可以用两种方式指定PHP字符串 ,但有四种方式。

  • 单引号字符串将几乎完全“按原样”显示。 变量和大多数转义序列不会被解释。 例外是显示一个文字单引号,你可以使用反斜杠'来转义它,并且显示一个反斜杠,你可以用另一个反斜杠来转义它( 所以是的,即使是单引号字符串也被解析 )。
  • 双引号字符串将显示大量转义字符(包括一些正则表达式),并且将评估字符串中的变量。 这里重要的一点是, 您可以使用花括号来隔离您想要评估的变量的名称 。 例如,假设你有变量$type而你要echo "The $types are"这将查找变量$types 。 为了解决这个问题,使用echo "The {$type}s are"您可以在美元符号之前或之后放置左大括号。 看看字符串解析,看看如何使用数组变量等。
  • Heredoc字符串语法像双引号字符串一样工作。 它以<<<开头。 在这个操作符之后,提供了一个标识符,然后是一个换行符。 字符串本身遵循,然后再次使用相同的标识符来关闭引用。 您不需要在此语法中转义引号。
  • Nowdoc (自PHP 5.3.0起)的字符串语法基本上像单引号字符串一样工作。 不同的是,甚至连单引号或反斜杠都不能逃脱。 一个nowdoc用与heredocs相同的<<<序列来标识,但是后面的标识符用单引号引起来,例如<<<'EOT'nowdoc中没有解析。
  • 速度:
    我不会太重视单引号比双引号更快。 他们在某些情况下可能会更快。 这里有一篇文章解释了自PHP 4.3(基本Useless OptimizationsC部分)以来,单引号和双引号实际上同样快的一种方式。 此外,这个基准测试页面有一个单双比较的报价。 大多数比较是相同的。 有一个比较,双引号比单引号慢。


    事情得到双引号评估,但不是单一的:

    $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.
    

    单引号

    指定字符串的最简单方法是将其用单引号引起来。 单引号通常更快,并且引用的所有内容都视为纯字符串。

    例:

    echo 'Start with a simple string';
    echo 'String's apostrophe';
    echo 'String with a php variable'.$name;
    

    双引号

    在PHP中使用双引号以避免必须使用句点分隔代码(注意:如果您不想在字符串中使用串联( . )运算符),请使用花括号{}来包含变量。

    例:

    echo "Start with a simple string";
    echo "String's apostrophe";
    echo "String with a php variable {$name}";
    

    在PHP中是否有性能优势单引号与双引号?

    是。 使用单引号稍快。

    PHP不会使用额外的处理来解释单引号内的内容。 当你使用双引号时,PHP必须解析以检查那里是否有变量。

    链接地址: http://www.djcxy.com/p/9845.html

    上一篇: What is the difference between single

    下一篇: Is there a function to make a copy of a PHP array to another?