再談PHP單引號和雙引號區別

2021-08-09 22:39:27 字數 2595 閱讀 2679

關於單引號和雙引號的區別和效率問題。很多朋友了解的不是很清楚,一直以為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單引號和雙引號區別

再談php單引號和雙引號區別 關於單引號和雙引號的區別和效率問題。很多朋友了解的不是很清楚,一直以為php中單引號和雙引號是互通的,直到有一天,發現單引號和雙引號出現錯誤的時候才去學習研究。所以今天再拿出來談談他們的區別,希望大家不要再為此困惑。雙引號裡面的字段會經過編譯器解釋,然後再當作html ...

再談PHP單引號和雙引號區別

關於單引號和雙引號的區別和效率問題。很多朋友了解的不是很清楚,一直以為php中單引號和雙引號是互通的,直到有一天,發現單引號和雙引號出現錯誤的時候才去學習研究。所以今天再拿出來談談他們的區別,希望大家不要再為此困惑。雙引號裡面的字段會經過編譯器解釋,然後再當作html 輸出。單引號裡面的不進行解釋,...

PHP單引號和雙引號區別

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