PHP中單引號和雙引號的區別

2021-07-13 18:50:52 字數 2622 閱讀 1210

關於單引號和雙引號的區別和效率問題。很多朋友了解的不是很清楚,一直以為php中單引號和雙引號是互通的,直到有一天,發現單引號和雙引號出現錯誤的時候才去學習研究。所以今天再拿出來談談他們的區別,希望大家不要再為此困惑。

」 」 雙引號裡面的字段會經過編譯器解釋,然後再當作html**輸出。

『 『 單引號裡面的不進行解釋,直接輸出。

從字面意思上就可以看出,單引號比雙引號要快了。

例如:

$abc=』my name is tome』;

echo $abc //結果是:my name is tom

echo 『$abc』 //結果是:$abc

echo 「$abc」 //結果是:my name is tom

特別在使用mysql語句的時候,雙引號和單引號的用法讓新手不知所措,在這裡,舉個例子,來進行說明。

假設查詢條件中使用的是常量,例如:

select * from abc_table where user_name=』abc』;

sql語句可以寫成:

sqlstr = 「select * from abc_table where user _name= 『abc』」 ;

假設查詢條件中使用的是變數,例如:

$user_name = $_request['user_name']; //字串變數

或$user=array (」name」=> $_request['user_name『,"age"=>$_request['age'];//陣列變數

sql語句就可以寫成:

sqlstr = 「select * from abc_table where user_name = 『 」 . $user_name . 」 『 「;

sqlstr = 「select * from abc_table where user_name = 『 」 . $user["name"] . 」 『 「;

對比一下:

sqlstr=」select * from abc_table where user_name = 『 abc 『 」 ;

sqlstr=」select * from abc_table where user_name =』 」 . $user _name . 」 『 「;

sqlstr=」select * from abc_table where user_name =』 」 . $user["name"] . 」 『 「;

sqlstr可以分解為以下3個部分:

1:」select * from table where user_name = 『 」 //固定sql語句

2:$user //變數

3:」 『 」

1,2,3部分字串之間用」.」 來連線

[p=30, 2, left]

[/p]

====

一.首先想想php裡所有的單詞(其實應該叫符號)有幾類.

2.常量.新手可能用得不多,常量的好處是全域性性,穿透函式.速度也快些不過新手可以暫時不管常量這玩意兒.

3.變數.前面帶"$"號的就是變數.可以為變數設乙個"值",例如一串字元,乙個數字,邏輯(真/假)值等.也可以表示一組值(陣列,物件等)

4.值.通常要給常量與變數設定值.賦值語句$a=\'abc\'中,右邊的\'abc\'即為值.

5.函式的引數(在括號裡的).可以是常量,變數,值三種.

變數(常量)與值的關係正如下列各種情況.

"顏色"與"紅",

"長度"與100,

"日期"與2023年10月25號"

二.什麼情況下用php引號

其實只有第4項"值"需要用到引號,函式的裡也只有值要用引號.並且只有字串(日期值可以當成字串)內容需要用到引號.數字(可用可不用),真假(不能用)例外.

例子三.單引號與雙引號的區別

一般情況下兩者是通用的.但雙引號內部變數會解析,單引號則不解析.

例子所以如果內部只有純字串的時候,用單引號(速度快),內部有別的東西(如變數)的時候,用雙號引更好點.

四.字串內部如果出現php引號怎麼辦--關於轉義.

比如我們想輸出: 我"是\'天才

這時候就必須用到轉義了.轉義即把本來有作用的符號轉成無意義的字元.

這樣就正常了,因為號把它後面的任何字元都轉成無意義的符號.在這裡來說,php解析器根本沒把號後面的引號當成引號來看待.

同樣的,還可以轉義分號,$符號等特殊符號.

五.字串的連線.

這是個麻煩的問題.一般來說,變數值,直接包含在雙引號中就可以了.另外字串的疊加用"."字元.

在複雜的情況裡可以用大括號來包含,php便知道這是乙個完整的東西,裡面的引號不會影響到外面的引號關係.

與html的混合也很簡單,最好養成html中全部用雙引號,php中盡量用單引號的習慣.這樣方便把大段的html**複製過來,只要頭尾加上單引號就是乙個正確的字串了.幾百行的html**也不用擔心php引號錯亂.

總結一下php引號使用原則

1.字串的值用引號

2.php中盡量用單引號,html**全部用雙引號

3.在包含變數的時候,用雙引號可以簡化操作

4.複雜的情況下用大括號包起來

php引號還有乙個用處就是,有的時候需要用php生成文字檔案,換行符\n需要用雙引號才能好使,單引號則會直接把\n當成字元輸出。

PHP單引號和雙引號區別

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

PHP中單引號和雙引號的區別

php把單引號中的資料視為普通字串,不再處理。而雙引號還要對其中的字串進行處理,比如遇到 了會把其後的內容視為變數。即 單引號裡面的 變數名 不被替換。雙引號裡面的 變數名 會被替換。例如 name hello echo the name 會輸出 the hello 而如果是單引號 name hel...

PHP中單引號和雙引號的區別

php中的單引號和雙引號在很多時候都是互通的,但是也存在區別 其中的內容不會經過解釋 n不會輸出為換行,而是直接輸出 即內容會與輸入的內容一致,例如 a 123 echo a is a 其輸出內容為 a is a雙引號中的內容將會被解釋,即解析內容中的變數,例如 a 123 echo a is a ...