from:
在php中,我們可以使用單引號或者雙引號來表示字串。不過我們作為開發者,應該了解其中的區別。單引號與雙引號對於定義字元乙個是可以解析變數乙個是會把變數直接輸出來,同時單引號與雙引號在字元處理上單引號要優與雙引號
①轉義的字元不同
單引號和雙引號中都可以使用轉義字元(\),但只能轉義在單引號中引起來的單引號和轉義轉義符本身。如果用雙引號(「」)括起字串,php懂得更多特殊字串的轉義序列。?
12
3
4
5
6
7
<?php
$str1
=
'\'
,\\,\r\n\t\v\$\"';
echo
$str1
,
'
';
$str2
=
"\"
,\\,a\r\n\tb\v\$\'";
echo
$str2
,
'
';
?>
②對變數的解析不同
單引號字串**現的變數不會被變數值替代。即php不會解析單引號中的變數,而是將變數名原樣輸出。雙引號字串最重要的一點是其中的變數名會被變數值替代,即可以解析雙引號中包含的變數。?
12
3
4
5
6
7
<?php
$age
= 20;
$str1
=
'i am $age years old'
;
$str2
=
"i am $age years old"
;
echo
$str1
,
'
';
// i am $age years old
echo
$str2
,
'
';
// i am 20 years old;
?>
③解析速度不同
單引號不需要考慮變數的解析,速度比雙引號快.推薦用單引號.有的時候雙引號也比較好用,比如在拼湊sql 語句
反斜槓?
12
3
4
5
6
7
8
9
10
11
12
//使用單引號
echo
' this \n is \r the blog \t of \\ zhoumanhe \\'
;
//上面使用單引號輸出的值是 this \n is \r the blog \t of \ zhoumanhe \
echo
'
';
echo
"
";
//使用雙引號
echo
"this \n is \r the blog \t of \\ zhoumanhe \\"
;
//上面使用雙引號輸出的值是 this is the blog of \ zhoumanhe \
使用sql
假設查詢條件中使用的是常量,例如:?
1select
*
from
abc_table
where
user_name=
'abc'
;
sql語句可以寫成:?
1sqlstr = 「
select
*
from
abc_table
where
user
_name= 『abc'」 ;
假設查詢條件中使用的是變數,例如:?
1$user_name
=
$_request
[
'user_name'
];
//字串變數
或? 1
$user
=
array
(」name」=>
$_request
[
'user_name『,"age"=>$_request['
age'];
//陣列變數
sql語句就可以寫成:?
12
sqlstr = 「
select
*
from
abc_table
where
user_name = 『 」 . $user_name . 」 『 「;
sqlstr = 「
select
*
from
abc_table
where
user_name = 『 」 . $
user
[
"name"
] . 」 『 「;
對比一下:?
12
3
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個部分:?
12
3
1:」
select
*
from
table
where
user_name = 『 」 //固定sql語句
2:$
user
//變數
3:」 『 」
附:大家也看到了 echo '
'; html中的標籤在單引號和雙引號中都有效。
總結一下php引號使用原則
1.字串的值用引號
2.php中盡量用單引號,html**全部用雙引號
3.在包含變數的時候,用雙引號可以簡化操作
4.複雜的情況下用大括號包起來
php引號還有乙個用處就是,有的時候需要用php生成文字檔案,換行符n需要用雙引號才能好使,單引號則會直接把n當成字元輸出。
使用總結:在字串裡面不需要加入 變數 或者 單引號(')和反斜槓(\) 時,盡量用單引號引字串,因為省去了雙引號檢查處理轉義和解析變數上面的時間。能用單引號盡量用單引號。
您可能感興趣的文章:
PHP中單引號與雙引號的區別
雙引號裡面的字段會經過編譯器解釋,然後再當作html 輸出。單引號裡面的不進行解釋,直接輸出。從字面意思上就可以看出,單引號比雙引號要快了。php中,雙引號中的變數 var 和特殊字元 r n之類 會被轉義,單引號中的內容不會被轉義 所以效率更高 word hello hello word worl...
php中雙引號與單引號的區別
主要區別 雙引號的情況下,php要搜尋可能存在的變數,然後替換為變數值 單引號情況下,直接原樣輸出 boo 7 echo 等於 boo這個值 這裡邊的變數是 boo,但是php搜尋的變數是 boo這個值,自然而然,沒有這個變數會報錯 boo 7 echo 等於 boo,這個值 這個搜尋的就是變數 b...
php中單引號與雙引號的區別
舉例1 單引號無法處理變數 header content type text html charset utf 8 設定頁面編碼 content hello php echo content echo echo echo content echo echo what s my name?最簡單的寫法...