当前位置: 首页 > 编程笔记 >

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

麹鸿煊
2023-03-14
本文向大家介绍简单概括PHP的字符串中单引号与双引号的区别,包括了简单概括PHP的字符串中单引号与双引号的区别的使用技巧和注意事项,需要的朋友参考一下

今天有个朋友问起,说下区别,顺便复习下。

单引号与双引号的不同:

  • " "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
  • ' '单引号里面的不进行解释,直接输出。 
  • 单引号解析的时间比双引号快 。
  • 单引号支持\转义符,双引号支持的转义符更多 。
$hello= 3;
echo "hello is $hello"; // 打印结果:hello is 3 
echo 'hello is $hello'; // 打印结果: hello is $hello 
echo "hello is $hello\n"; // 打印结果: hello is 2 (同时换行) 
echo 'hello is $hello\n'; // 打印结果: hello is $hello\n

PS:
今天看到老外提到了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 

可以见到,速度快很多了,用.连接的话

 类似资料:
  • 问题内容: 我有些困惑,为什么我在PHP中看到一些代码,这些代码的字符串用单引号引起来,有时用双引号引起来。 我只是在.NET或C语言中知道,如果用单引号引起来,则意味着它是一个字符,而不是字符串。 问题答案: PHP字符串不仅可以通过 _两种_方式指定,还可以通过 四种 方式指定。 用单引号引起来的字符串几乎可以完全“按原样”显示事物。变量和大多数转义序列将不被解释。唯一的例外是,要显示文字单引

  • 本文向大家介绍PowerShell中字符串使用单引号和双引号的区别,包括了PowerShell中字符串使用单引号和双引号的区别的使用技巧和注意事项,需要的朋友参考一下 本文介绍PowerShell开发时,在字符串中如何去包含变量。将变量包含在字符串中,最后得到的结果是将变量的值放入到了字符串中。 假如有一个字符串变量:$p = "PowerShell" 那么 $str="Hello $p",这时,

  • 本文向大家介绍替换php字符串中的单引号为双引号的方法,包括了替换php字符串中的单引号为双引号的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇替换php字符串中的单引号为双引号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: Python中的单引号与双引号 问题答案: 我喜欢在用于插值或自然语言消息的字符串周围使用双引号,对于像符号一样小的字符串使用单引号,但是如果字符串包含引号或者我忘记了,则会违反规则。我对文档字符串使用三重双引号,对正则表达式使用原始字符串文字,即使不需要它们也是如此。 例如:

  • 问题内容: 我的代码: 定义是错误的 定义是正确的 我听说在Python中 单 引号和 双 引号可以互换。谁能向我解释一下? 问题答案: JSON语法不是Python语法。JSON的字符串需要双引号。

  • 问题内容: 我对以下代码行的语法感到困惑: 数据框对象由2列(“大脑”和“身体”)组成 当我打印x_values时,我得到这样的东西: 就dataframe对象的属性和方法而言,我知道pandas文档,但双括号语法使我感到困惑。 问题答案: 考虑一下: 来源DF: 选择一列-生成Pandas.Series: 选择DataFrame的子集-结果为DataFrame: 结论: 第二种方法允许我们从Da