php單雙引號
1. php字元串單引號和雙引號的區別
其實在之前的PHP100視頻教程里我就講過,單引號和雙引號的區別和效率問題,但還是很多朋友了解的不是很清楚,一直以為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部分字元串之間用」.」 來連接
2. php 單引號和雙引號的區別
1、變數。雙引號解釋變數,單引號不解釋變數;雙引號里插入單引號,其中單引號里如果有變數的話,變數解釋;
2、字元。雙引號解釋轉義字元,單引號不解釋轉義字元,但是解釋'和;
3、效率。能使單引號字元盡量使用單引號,單引號的效率比雙引號要高(因為雙引號要先遍歷一遍,判斷裡面有沒有變數,然後再進行操作,而單引號則不需要判斷)。
(2)php單雙引號擴展閱讀:
一般情況下兩者是通用的。但雙引號內部變數會解析,而單引號則不解析。
PHP允許我們在雙引號串中直接包含字串變數。
而單引號串中的內容總被認為是普通字元,因此單引號中的內容不會被轉義效率更高。
比如:
$str = 'hello world';
echo "str is $str"; //運行結果: str is hello world
echo 'str is $str'; //運行結果: str is $str
3. 單引號、雙引號在PHP中有什麼區別
在PHP中,字元串的定義可以使用單引號,也可以使用雙引號。但是必須使用同一種單或雙引號來定義字元串,如:『Hello"和「Hello'為非法的字元串定義。
定義字元串時,只有一種引號被視為定義符,即單引號或雙引號。於是,如果一個字元串由雙引號開始,那麼只有雙引號被分析器解析。這樣,你就可以在雙引號串中包含任何其他字元,甚至單引號。
4. php鍗曞紩鍙蜂笌鍙屽紩鍙風殑鍖哄埆鏄浠涔
php鍗曞紩鍙蜂笌鍙屽紩鍙風殑鍖哄埆錛1銆佸崟寮曞彿鍜屽弻寮曞彿涓閮藉彲浠ヤ嬌鐢ㄨ漿涔夊瓧絎︺愩戱紝浣嗗彧鑳借漿涔夊湪鍗曞紩鍙蜂腑寮曡搗鏉ョ殑鍗曞紩鍙峰拰杞涔夎漿涔夌︽湰韜錛2銆佸崟寮曞彿瀛楃︿覆涓鍑虹幇鐨勫彉閲忎笉浼氳鍙橀噺鍊兼浛浠o紝鑰屽弻寮曞彿鏄鍙橀噺鍚嶄細琚鍙橀噺鍊兼浛浠c
php鍗曞紩鍙蜂笌鍙屽紩鍙風殑鍖哄埆錛
涓銆佽漿涔夌殑瀛楃︿笉鍚
鍗曞紩鍙峰拰鍙屽紩鍙蜂腑閮藉彲浠ヤ嬌鐢ㄨ漿涔夊瓧絎(錛)錛屼絾鍙鑳借漿涔夊湪鍗曞紩鍙蜂腑寮曡搗鏉ョ殑鍗曞紩鍙峰拰杞涔夎漿涔夌︽湰韜銆傚傛灉鐢ㄥ弻寮曞彿(鈥溾)鎷璧峰瓧絎︿覆錛孭HP鎳傚緱鏇村氱壒孌婂瓧絎︿覆鐨勮漿涔夊簭鍒椼
<?php
$str1 = '錛',錛礆技,錛紃錛糿錛紅錛紇錛$錛"';
echo $str1,'<br />';
$str2 = "錛",錛礆技,a錛紃錛糿錛紅b錛紇錛$錛'";
echo $str2,'<br />';
?>浜屻佸瑰彉閲忕殑瑙f瀽涓嶅悓
鍗曞紩鍙峰瓧絎︿覆涓鍑虹幇鐨勫彉閲忎笉浼氳鍙橀噺鍊兼浛浠c傚嵆PHP涓嶄細瑙f瀽鍗曞紩鍙蜂腑鐨勫彉閲忥紝鑰屾槸灝嗗彉閲忓悕鍘熸牱杈撳嚭銆傚弻寮曞彿瀛楃︿覆鏈閲嶈佺殑涓鐐規槸鍏朵腑鐨勫彉閲忓悕浼氳鍙橀噺鍊兼浛浠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;
?>涓夈佽В鏋愰熷害涓嶅悓
鍗曞紩鍙蜂笉闇瑕佽冭檻鍙橀噺鐨勮В鏋,閫熷害姣斿弻寮曞彿蹇.鎺ㄨ崘鐢ㄥ崟寮曞彿.鏈夌殑鏃跺欏弻寮曞彿涔熸瘮杈冨ソ鐢,姣斿傚湪鎷煎噾sql 璇鍙
鍙嶆枩鏉
//浣跨敤鍗曞紩鍙
echo ' this 錛糿 is 錛紃 the blog 錛紅 of 錛礆技 zhoumanhe 錛礆技';
//涓婇潰浣跨敤鍗曞紩鍙瘋緭鍑虹殑鍊兼槸 this 錛糿 is 錛紃 the blog 錛紅 of 錛 zhoumanhe 錛
echo '
';
echo "
";
//浣跨敤鍙屽紩鍙
echo "this 錛糿 is 錛紃 the blog 錛紅 of 錛礆技 zhoumanhe 錛礆技";
//涓婇潰浣跨敤鍙屽紩鍙瘋緭鍑虹殑鍊兼槸 this is the blog of 錛 zhoumanhe 錛間嬌鐢╯ql
鍋囪炬煡璇㈡潯浠朵腑浣跨敤鐨勬槸甯擱噺錛屼緥濡傦細
select * from abc_table where user_name='abc';SQL璇鍙ュ彲浠ュ啓鎴:
SQLstr = 鈥渟elect * from abc_table where user _name= 鈥榓bc'鈥 ;鍋囪炬煡璇㈡潯浠朵腑浣跨敤鐨勬槸鍙橀噺錛屼緥濡傦細
$user_name = $_REQUEST['user_name']; //瀛楃︿覆鍙橀噺鎴
$user=array (鈥漬ame鈥=> $_REQUEST['user_name鈥,"age"=>$_REQUEST['age'];//鏁扮粍鍙橀噺SQL璇鍙ュ氨鍙浠ュ啓鎴愶細
SQLstr = 鈥渟elect * from abc_table where user_name = 鈥 鈥 . $user_name . 鈥 鈥 鈥;
SQLstr = 鈥渟elect * from abc_table where user_name = 鈥 鈥 . $user["name"] . 鈥 鈥 鈥;瀵規瘮涓涓:
SQLstr=鈥漵elect * from abc_table where user_name = 鈥 abc 鈥 鈥 ;
SQLstr=鈥漵elect * from abc_table where user_name =' 鈥 . $user _name . 鈥 鈥 鈥;
SQLstr=鈥漵elect * from abc_table where user_name =' 鈥 . $user["name"] . 鈥 鈥 鈥;SQLstr鍙浠ュ垎瑙d負浠ヤ笅3涓閮ㄥ垎:
1錛氣漵elect * from table where user_name = 鈥 鈥 //鍥哄畾SQL璇鍙
2錛$user //鍙橀噺
3錛氣 鈥 鈥濋檮錛氬ぇ瀹朵篃鐪嬪埌浜 echo '<br/>'; html涓鐨勬爣絳懼湪鍗曞紩鍙峰拰鍙屽紩鍙蜂腑閮芥湁鏁堛
鎬葷粨涓涓婸HP寮曞彿浣跨敤鍘熷垯
1銆佸瓧絎︿覆鐨勫肩敤寮曞彿
2銆丳HP涓灝介噺鐢ㄥ崟寮曞彿,HTML浠g爜鍏ㄩ儴鐢ㄥ弻寮曞彿
3銆佸湪鍖呭惈鍙橀噺鐨勬椂鍊,鐢ㄥ弻寮曞彿鍙浠ョ畝鍖栨搷浣
4銆佸嶆潅鐨勬儏鍐典笅鐢ㄥぇ鎷鍙峰寘璧鋒潵
PHP寮曞彿榪樻湁涓涓鐢ㄥ勫氨鏄錛屾湁鐨勬椂鍊欓渶瑕佺敤php鐢熸垚鏂囨湰鏂囦歡錛屾崲琛岀n闇瑕佺敤鍙屽紩鍙鋒墠鑳藉ソ浣匡紝鍗曞紩鍙峰垯浼氱洿鎺ユ妸n褰撴垚瀛楃﹁緭鍑恆
浣跨敤鎬葷粨錛氬湪瀛楃︿覆閲岄潰涓嶉渶瑕佸姞鍏 鍙橀噺 鎴栬 鍗曞紩鍙(')鍜屽弽鏂滄潬(錛) 鏃訛紝灝介噺鐢ㄥ崟寮曞彿寮曞瓧絎︿覆錛屽洜涓虹渷鍘諱簡鍙屽紩鍙鋒鏌ュ勭悊杞涔夊拰瑙f瀽鍙橀噺涓婇潰鐨勬椂闂淬傝兘鐢ㄥ崟寮曞彿灝介噺鐢ㄥ崟寮曞彿銆
鎯充簡瑙f洿澶氱紪紼嬪︿範錛屾暚璇峰叧娉╬hp鍩硅鏍忕洰錛
5. 淺談PHP中單引號和雙引號到底有啥區別呢
在PHP中,字元串的定義可以使用英文單引號'
',也可以使用英文雙引號"
"。
但是必須使用同一種單或雙引號來定義字元串,如:'Hello
World"和"Hello
World'為非法的字元串定義。
單引號和雙引號到底有啥區別呢?
PHP允許我們在雙引號串中直接包含字串變數。
而單引號串中的內容總被認為是普通字元,因此單引號中的內容不會被轉義效率更高。
比如:
復制代碼
代碼如下:
$str='hello';
echo
"str
is
$str";
//運行結果:
str
is
hello
echo
'str
is
$str';
//運行結果:
str
is
$str
php中,雙引號中的變數($var)和特殊字元(\r\n之類)會被轉義,單引號中的內容不會被轉義(所以效率更高)。
使用上的話,
我以前很喜歡在sql字元串里這樣寫$sql
=
"SELECT
*
FROM
table
WHERE
id
=
$id",這樣裡面的$id可以被轉義,單引號就不行。
在JavaScript中
單引號
和雙引號沒有區別,只要成對使用就行。
我在JavaScript
中使用單引號大多是因為
Javascript
和
HTML
打交道比較多,輸出
HTML
片段的時候不需要轉義
HTML
中屬性的引號。
總之,看實際情況來用啦,怎麼方便怎麼使用。
以上就是本文關於php中單雙引號的區別分析了,希望大家能夠喜歡
6. php 單引號和雙引號的區別
兩者的區喊侍悄別如下:
1、變數上的區鄭渣別
雙引號能解釋變數,談前單引號不能解釋變數。 單引號插入雙引號中,如果單引號中包含變數,則變數解釋。
2、效率上的區別
單引號比雙問號更有效,因為首先需要遍歷雙引號以確定其中是否有變數,然後執行操作,並且不需要判斷單引號。
3、字元上的區別
雙引號解釋轉義符,單引號不解釋轉義符,而是解釋'和。
7. php中單引號和雙引號有什麼區別
單引號
,是表示一個
變數
關系。
雙引號,是將選定范圍,做為
字元串
執行。
特別是當一個
語句
里,存在
特殊符號
或多種變數時,需要用雙引號進行區分開,以免被系統誤認為特殊符號
語法
進行解析。
8. PHP語法中 單引號和雙引號的區別
在PHP中,字元串的定義可以使用單引號,也可以使用雙引號。但是必須使用同一種單或雙引號來定義字元串,如:『Hello"和「Hello'為非法的字元串定義。
定義字元串時,只有一種引號被視為定義符,即單引號或雙引號。於是,如果一個字元串由雙引號開始差悔臘,那麼只有雙引號被分析器解析。這樣,就可以在雙引號串中包含任何其他字元,甚至單引號。下面的引號串都是合法的:
$s = "I am a 'single quote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quote string';
$s = "I am a 'single quote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quote string';
PHP允許我們在雙引號串中直接包含字串變數,單引號串和雙引號串虛滑在PHP中的處理是不相同的。雙引號串中的內容可以被解釋而且替換,而單引號串中的內容總被認為是普通字元。例如如下代碼:
$foo = 2;
echo "foo is $foo"; // 列印結果: foo is 2
echo 'foo is $foo'; // 列印結果: foo is $foo
echo "foo is $foo\n"; // 列印結果: foo is 2 (同時換行)
echo 'foo is $foo\n'; // 列印結果: foo is $foo\n
$foo = 2;
echo "foo is $foo"; // 列印結果: foo is 2
echo 'foo is $foo'; // 列印結果: foo is $foo
echo "foo is $foo\n"; // 列印結果: foo is 2 (同時換行)
echo 'foo is $foo\n'; // 列印結果: foo is $foo\n
在單引號串中甚至反斜杠也失去了他的擴展含義(除了插入反斜杠\\和插入單引號\')。所以前襪,當想在字串中進行變數代換和包 含\n(換行符)等轉義序列時,應該使用雙引號。單引號串可以用在其他任何地方,腳本中使用單引號串處理速度會更快些,因為PHP語法分析器對單引號串 的處理方式比較單純,而雙引號的處理由於串內部也需要解析,因此更復雜些,所以處理速度略慢。