關於php單引號和雙引號

2022-09-20 04:27:13 字數 958 閱讀 2580

好吧,第一篇就這樣愉快的開始了!菜鳥高階,求助攻

在php的資料型別中包含字串型別:string,其書寫格式為$字串名='內容';例如$a='我是字串';當然這裡如果寫成$a="我是字串";echo結果是一致的。但是二者到底有什麼區別:

(1)雙引號支援解析,單引號不支援。

<?php

$a=5;

$b="$a是多少";

$c='$a是多少';

echo $b;

echo "

";echo $c;

可以發現輸出結果為:

5是多少

$a是多少

因為 $b被賦予的值使用雙引號括起來,所以其中的$a被解析成5,但是$c是用單引號括起來的,單引號不能解析輸出來的是引號裡面的內容。

(2)雙引號支援專一字元'\'(注意這裡是反斜槓)但是單引號不支援:

<?php

$a=5;

$d="/$a是多少";

$e='/$a是多少';

echo $b;

echo "

";echo $c;

輸出結果為:

$a是多少

/$a是多少

由於$d的值使用雙引號括起來,裡面的轉義字元生效。所以輸出$a是多少。同樣單引號不支援轉義字元,轉義字元直接以「值」的方式被輸出。

另外,如果字串加雙引號,在php執行的過程中需要判斷雙引號裡面的值是不是包含變數或者轉義。因此同樣的

$b="$a是多少";

$c='$a是多少';

在echo的時候,$c的執行效率會高於$b的。因此在些php**的時候如果不是必須,建議字串是用單引號。當然如果必須使用雙引號的話,可以把其中的變數用大括號括起來。明確表示這是乙個變數,需要解析。如:

$b="是多少";

這樣也可以相應的提高執行效率;

-----------------------------ok!

ps:

單引號和雙引號

char p1 1 char p2 1 1 的ascii碼值為49 0和49位址處為作業系統使用,故訪問這些位址如printf s,s,s p1,p2,p3 會產生段錯誤。printf n n的ascii碼值為10,同理,段錯誤。a 表示字元常量,在記憶體中佔1個位元組,a 1表示 a 的ascii...

單引號( )和雙引號( )

關鍵是要養成良好的習慣.單引號 一般用在單字元,如 c 雙引號 一般用在字串,如 abc 如果巢狀使用的話,一般用交替方法,尤其是html中.如,也可以改成.在分割乙個字串時要用到str.split或者regex.split。簡單的單個字串的替換,直接用字串.split 單個字串 多個字串的替換用r...

PHP單引號和雙引號區別

雙引號裡面的字段會經過編譯器解釋,然後再當作html 輸出。單引號裡面的不進行解釋,直接輸出。從字面意思上就可以看出,單引號比雙引號要快了。例如 abc my name is tome echo abc 結果是 my name is tom echo abc 結果是 abc echo abc 結果是...