首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解释PHP中字符串的类型

解释PHP中字符串的类型
EN

Stack Overflow用户
提问于 2012-12-19 03:16:06
回答 2查看 3K关注 0票数 1

可能重复: php中单引号和双引号的区别

我是PHP的新手,我对如何指定字符串感到有点困惑。

似乎有四种方法可以指定字符串

  1. 单引号串
  2. 双引号串
  3. 赫雷多克
  4. Nowdoc (自PHP 5.3.0以来)

我想知道为什么有这么多类型的规范,指定字符串的最佳方法是什么?

因为在的文章中,它又说单引号和双引号一样快,但也有其他人不同意。

为什么有单引号和双引号?在一定的条件下,它能增加速度、准确性吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-19 03:19:27

单引号字符串比双引号字符串更注意转义序列.比较:

代码语言:javascript
复制
echo "one\ntwo";
# one
# two

通过以下方式:

代码语言:javascript
复制
echo 'one\ntwo';
# one\ntwo

另一个关键的区别是双引号字符串内插变量。单引号字符串不会。

至于本文档和现在文档,它们只是以一种更好的方式指定长字符串(其中可能包含引号--如果它们包含引号,则不必转义它们)。为什么有两个?嗯,这里的文件是双引号的字符串,就像现在的文件是单引号的字符串.

(顺便说一下,所有这些信息和更多信息都是可用的在PHP文档中。)

所以,字符串文字有很多不同的类型,因为字符串文字有很多不同的用途。

票数 2
EN

Stack Overflow用户

发布于 2012-12-19 03:21:38

http://php.net/manual/en/language.types.string.php

  • 单引号字符串基本上是普通字符串.只有在编译脚本时才解析它们。
  • 双引号字符串在运行时被解析。
  • Heredocs是一种在多行上定义双引号字符串的方法,它使用一个特殊的开头和结尾序列。
  • Nowdocs就是Heredocs,只是像单引号字符串一样未解析。

就性能而言,单引号字符串通常比双引号字符串更可取,因为它们基本上代表常量。因此,在大多数情况下,您会希望使用单引号字符串。

然而,通常,在准备输出时,双引号字符串是非常实用的。

代码语言:javascript
复制
$combined = "An $a and $b plus $c";
$combined = 'An '.$a.' and '.$b.' plus '.$c;

这些行是相等的,但是您可能猜到哪一行更容易编写和维护。

您可能应该记住,虽然这是PHP特有的,但是大多数其他编程语言都支持类似的语法,但是处理它们是一样的。因此,对于那些真正存在的人来说,它们只是为了简化字符串中的引号(考虑"Someone can't handle an apostrophe, but it's not me."'<p class="some">Text.</p>'),而不必转义每一个引号。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13944990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档