Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > php入门教程

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

来源:中文源码网    浏览:130 次    日期:2024-05-09 06:49:33
【下载文档:  简单概括PHP的字符串中单引号与双引号的区别.txt 】


简单概括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
可以见到,速度快很多了,用.连接的话

相关内容