這篇文章主要介紹了PHP的字符串中單引號與雙引號的區(qū)別,是PHP入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
單引號與雙引號的不同:
1." "雙引號里面的字段會經(jīng)過編譯器解釋,然后再當(dāng)作HTML代碼輸出。
2.' '單引號里面的不進(jìn)行解釋,直接輸出。
3.單引號解析的時間比雙引號快 。
4.單引號支持\轉(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擴(kuò)展 Vulcan Logic Disassembler 后,可以看到PHP生成的中間碼,
首先是:
echo "This is a string";
會轉(zhuǎn)變?yōu)椋?nbsp;
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
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
可以見到,速度快很多了,用.連接的話