`

PHP中的单引号

    博客分类:
  • PHP
PHP 
阅读更多
今天看到老外提到了PHP的单引号的问题,其中提到了有趣的东西,摘录如下:
其中说装了PHP扩展 Vulcan Logic Disassembler 后,可以看到PHP生成的中间码,
首先是:echo "This is a string";
会转变为:
ECHO       'This is a string'

而echo 'This is a string';
则变成 ECHO       'This is a string'
,是一样的
如果是echo "This is a $variable";
则PHP产生的OPCODE为


INIT STRING  ~0 

2 ADD_STRING   ~0 ~0 'This'

3 ADD_STRING   ~0 ~0 ' '

4 ADD_STRING   ~0 ~0 'is'

5 ADD_STRING   ~0 ~0 ' '

6 ADD_STRING   ~0 ~0 'a'

7 ADD_STRING   ~0 ~0 ' '

8 ADD_VAR       ~0 ~0 !0 

9 ECHO            ~0
而echo "This is a " . $variable;
则会变成
CONCAT       ~0 'This is a ' !0 

2 ECHO           ~0

可以见到,速度快很多了,用.连接的话
2
1
分享到:
评论
1 楼 zhengyutong 2010-11-01  
噢,这样啊。

相关推荐

    php单引号和双引号的区别

    然而,在**单引号('')**中,除了`\'`(单引号)和`\\`(反斜杠)之外,其他转义序列都不会被解析,这使得单引号字符串处理更简单、更快,但同时也限制了其灵活性。 ### 多行字符串定义 对于多行字符串,PHP提供了...

    php双引号、单引号的区别.zip

    2. 单引号中的字符串解析: 使用单引号定义字符串时,PHP不会解析其中的变量。如果在单引号字符串中使用变量,它们将被视为普通字符,不会被替换。例如: ``` $name = "John"; echo 'Hello, $name!'; ``` 这段...

    自动给数据库数据加单引号

    因为oracle每次in()数据不能超过1000行,但是每个数据都要接单引号,所以写了这个程序,使用方法:复制多行数据,然后双击程序,会自动把数据加上单引号更新粘贴板,粘贴到in()中去就可以了。

    PHP双引号与单引号的区别,很多人认为php双引号单引号一样,其实还是有区别的

    相反,单引号字符串不会解析这些转义序列,除非它们是变量的一部分,如 "\$name"(在双引号中会被解析为 "$name",在单引号中则保持原样)。 3. 性能考量: 由于单引号字符串不需要进行变量解析和特殊字符转义,...

    PHP中单引号与双引号的区别分析

    在单引号中,只有两个转义序列会被解析:'\''(单引号自身)和 '\\\'(反斜杠)。这意味着在单引号内,其他转义序列如'\n'(换行)、'\r'(回车)和'\t'(制表符)都不会被解析,它们会被当作普通字符输出。而双引号...

    PHP 单引号与双引号的区别

    然而,双引号与单引号的最大区别在于,双引号中的字符串可以包含变量或特殊字符的解析。当一个字符串使用双引号定义时,PHP解析器会检查字符串中的内容,对于变量,会将其值插入到字符串中,对于如换行符(\n)、制表...

    php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。 例如: <?php $name=string; echo 字符串 . '...

    简单概括PHP的字符串中单引号与双引号的区别

    - **单引号**:相比之下,单引号中的变量不会被解析。`echo 'hello is $hello '`会原样输出`hello is $hello`,变量 `$hello` 不会被替换为它的值。 2. **转义序列**: - **双引号**:双引号字符串支持更多的转义...

    php 输出双引号"与单引号'的方法

    1. 单引号中的变量不会被解析,双引号中的变量会被解析。 2. 在不包含变量的字符串中,使用单引号比双引号更高效。 3. 使用转义字符`\`可以输出特殊字符,如`\"`用于输出双引号,`\'`用于输出单引号,`\\`用于输出反...

    php 防止单引号,双引号在接受页面转义

    在PHP编程中,单引号(')和双引号(")的使用是一个常见的主题,它们在处理字符串时有着不同的行为。本文将详细讲解如何防止单引号和双引号在PHP页面中被转义,并探讨它们的区别。 首先,我们要解决的问题是“如何...

    php 输出双引号与单引号的方法

    在这个例子中,单引号被用来定义字符串,所以当你在单引号中直接插入双引号时,它会被视为字符串的一部分并正常输出。 方法二: ```php $str = "输出双引号\""; echo $str; ``` 这里使用了双引号来定义字符串,然后...

    PHP的单引号和双引号 字符串效率

    在PHP中,字符串可以用单引号(')或双引号(")来定义,但这两者之间存在一些微妙的差异,特别是在性能方面。本文将深入探讨这些差异,并通过具体的测试代码和opcode分析来揭示它们的工作原理。 首先,我们要明白...

    浅谈PHP中单引号和双引号到底有啥区别呢?

    这种行为使得双引号中的字符串更加强大和灵活,但同时也会略微增加解析的时间,因为PHP需要执行变量解析和字符转义的过程。 相比之下,使用单引号定义的字符串则不会对其中的内容进行解析或转义。这意味着在单引号...

    关于Mysql查询带单引号及插入带单引号字符串问题

    在MySQL查询中,正确处理带有单引号的字符串至关重要,因为单引号是SQL语句中的特殊字符,未正确处理可能导致语法错误或者更严重的安全问题,如SQL注入攻击。SQL注入是恶意用户通过输入带有特殊SQL命令的数据来操纵...

    替换php字符串中的单引号为双引号的方法

    - 单引号中的变量不会被解析,除非使用转义字符 `\`。例如:`echo 'Hello, $name';` 将输出 "Hello, $name"。 2. 字符串效率: - 使用单引号的字符串解析速度稍快于双引号,因为解析器不需要检查单引号字符串内的...

    php下防止单引号,双引号在接受页面转义的设置方法

    4. **字符串中的特殊字符**:在双引号中,特殊字符如`\n`(换行)和`\t`(制表符)会被解析为对应的转义字符,而在单引号中则不会。 了解这些差异后,你可以根据实际需求选择合适的引号类型。如果你只需要输出纯...

    Shell脚本字符串单引号和双引号的区别浅析

    •单引号字串中不能出现单引号(对单引号使用转义符后也不行)。 双引号 代码如下: your_name=’qinjx’ str=”Hello, I know your are \”$your_name\”! \n” 双引号的优点: •双引号里可以有

Global site tag (gtag.js) - Google Analytics