php字符串中单引号与双引号的区别,简单概括PHP的字符串中单引号与双引号的区别...
今天有個朋友問起,說下區(qū)別,順便復習下。
單引號與雙引號的不同:
" "雙引號里面的字段會經(jīng)過編譯器解釋,然后再當作HTML代碼輸出。
' '單引號里面的不進行解釋,直接輸出。
單引號解析的時間比雙引號快 。
單引號支持轉(zhuǎn)義符,雙引號支持的轉(zhuǎn)義符更多 。
$hello=?3;
echo"hello?is?$hello";//?打印結(jié)果:hello?is?3
echo'hello?is?$hello';//?打印結(jié)果:?hello?is?$hello
echo"hello?is?$hello\n";//?打印結(jié)果:?hello?is?2?(同時換行)
echo'hello?is?$hello\n';//?打印結(jié)果:?hello?is?$hello\n
PS:
今天看到老外提到了PHP的單引號的問題,其中提到了有趣的東西,摘錄如下:
其中說裝了PHP擴展 Vulcan Logic Disassembler 后,可以看到PHP生成的中間碼,
首先是:
echo "This is a string";
會轉(zhuǎn)變?yōu)?#xff1a;
ECHO? ? 'This is a string'
而
echo 'This is a string';
則變成
ECHO? ? 'This is a string'
,是一樣的
如果是
echo "This is a $variable";
則PHP產(chǎn)生的OPCODE為
INIT?STRING?~0
ADD_STRING??~0?~0?'This'
ADD_STRING??~0?~0?'?'
ADD_STRING??~0?~0?'is'
ADD_STRING??~0?~0?'?'
ADD_STRING??~0?~0?'a'
ADD_STRING??~0?~0?'?'
ADD_VAR????~0?~0?!0
ECHO??????~0
而
echo "This is a " . $variable;
則會變成
CONCAT? ? ~0 'This is a ' !0
ECHO? ? ? ~0
可以見到,速度快很多了,用.連接的話
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的php字符串中单引号与双引号的区别,简单概括PHP的字符串中单引号与双引号的区别...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 声学漫谈之三:听觉的分辨力
- 下一篇: 声学漫谈之四:A加权(A-weighte