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