PHP中單引號(hào)與雙引號(hào)的區(qū)別分析
①轉(zhuǎn)義的字符不同
單引號(hào)和雙引號(hào)中都可以使用轉(zhuǎn)義字符(\),但只能轉(zhuǎn)義在單引號(hào)中引起來的單引號(hào)和轉(zhuǎn)義轉(zhuǎn)義符本身。如果用雙引號(hào)(“”)括起字符串,PHP懂得更多特殊字符串的轉(zhuǎn)義序列。
<?php $str1 = '\',\\,\r\n\t\v\$\"'; echo $str1,'<br />'; $str2 = "\",\\,a\r\n\tb\v\$\'"; echo $str2,'<br />'; ?>
②對(duì)變量的解析不同
單引號(hào)字符串中出現(xiàn)的變量不會(huì)被變量值替代。即PHP不會(huì)解析單引號(hào)中的變量,而是將變量名原樣輸出。雙引號(hào)字符串最重要的一點(diǎn)是其中的變量名會(huì)被變量值替代,即可以解析雙引號(hào)中包含的變量。
<?php $age = 20; $str1 = 'I am $age years old'; $str2 = "I am $age years old"; echo $str1,'<br />'; // I am $age years old echo $str2,'<br />'; // I am 20 years old; ?>
③解析速度不同
單引號(hào)不需要考慮變量的解析,速度比雙引號(hào)快.推薦用單引號(hào).有的時(shí)候雙引號(hào)也比較好用,比如在拼湊sql 語句
反斜杠
//使用單引號(hào) echo ' this \n is \r the blog \t of \\ zhoumanhe \\'; //上面使用單引號(hào)輸出的值是 this \n is \r the blog \t of \ zhoumanhe \ echo ' '; echo " "; //使用雙引號(hào) echo "this \n is \r the blog \t of \\ zhoumanhe \\"; //上面使用雙引號(hào)輸出的值是 this is the blog of \ zhoumanhe \
使用sql
假設(shè)查詢條件中使用的是常量,例如:
select * from abc_table where user_name='abc';
SQL語句可以寫成:
SQLstr = “select * from abc_table where user _name= ‘a(chǎn)bc'” ;
假設(shè)查詢條件中使用的是變量,例如:
$user_name = $_REQUEST['user_name']; //字符串變量
或
$user=array (”name”=> $_REQUEST['user_name‘,"age"=>$_REQUEST['age'];//數(shù)組變量
SQL語句就可以寫成:
SQLstr = “select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “; SQLstr = “select * from abc_table where user_name = ‘ ” . $user["name"] . ” ‘ “;
對(duì)比一下:
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個(gè)部分:
1:”select * from table where user_name = ‘ ” //固定SQL語句 2:$user //變量 3:” ‘ ”
附:大家也看到了 echo '<br/>'; html中的標(biāo)簽在單引號(hào)和雙引號(hào)中都有效。
總結(jié)一下PHP引號(hào)使用原則
1.字符串的值用引號(hào)
2.PHP中盡量用單引號(hào),HTML代碼全部用雙引號(hào)
3.在包含變量的時(shí)候,用雙引號(hào)可以簡化操作
4.復(fù)雜的情況下用大括號(hào)包起來
PHP引號(hào)還有一個(gè)用處就是,有的時(shí)候需要用php生成文本文件,換行符n需要用雙引號(hào)才能好使,單引號(hào)則會(huì)直接把n當(dāng)成字符輸出。
使用總結(jié):在字符串里面不需要加入 變量 或者 單引號(hào)(')和反斜杠(\) 時(shí),盡量用單引號(hào)引字符串,因?yàn)槭∪チ穗p引號(hào)檢查處理轉(zhuǎn)義和解析變量上面的時(shí)間。能用單引號(hào)盡量用單引號(hào)。
相關(guān)文章
PHP獲取某個(gè)月最大天數(shù)(最后一天)的方法
這篇文章主要介紹了PHP獲取某個(gè)月最大天數(shù)(最后一天)的方法,涉及php流程控制及數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07php addslashes和mysql_real_escape_string
本文介紹的是用 mysql_real_escape_string對(duì)用戶提交數(shù)據(jù)進(jìn)行整理處理和通過addslashes以及mysql_escape_string這3個(gè)類似的功能函數(shù)的區(qū)別。經(jīng)過轉(zhuǎn)義的數(shù)據(jù)可以直接插入到數(shù)據(jù)庫中。2010-01-01WordPress中自定義后臺(tái)管理界面配色方案的小技巧
這篇文章主要介紹了WordPress中自定義后臺(tái)管理界面配色方案的小技巧,即使用wp_admin_css_color()函數(shù)來添加配色,需要的朋友可以參考下2015-12-12PHP中$_FILES的使用方法及注意事項(xiàng)說明
本篇文章主要是對(duì)PHP中$_FILES的使用方法及注意事項(xiàng)進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式
這篇文章主要介紹了如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06PHP數(shù)組循環(huán)操作詳細(xì)介紹 附實(shí)例代碼
PHP數(shù)組循環(huán)操作主要有兩種方式:一種是foreach,另一種是while,文章有詳細(xì)的介紹,希望對(duì)大家有幫助2013-02-02