當前位置:首頁 » 編程語言 » php引號區別

php引號區別

發布時間: 2022-07-20 10:01:19

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部分字元串之間用」.」 來連接

Ⅱ PHP中單引號與雙引號的區別分析

①轉義的字元不同
單引號和雙引號中都可以使用轉義字元(\),但只能轉義在單引號中引起來的單引號和轉義轉義符本身。如果用雙引號(「」)括起字元串,PHP懂得更多特殊字元串的轉義序列。
<?php
$str1
=
'\',\\,\r\n\t\v\$\"';
echo
$str1,'<br
/>';
$str2
=
"\",\\,a\r\n\tb\v\$\'";
echo
$str2,'<br
/>';
?>
②對變數的解析不同
單引號字元串中出現的變數不會被變數值替代。即PHP不會解析單引號中的變數,而是將變數名原樣輸出。雙引號字元串最重要的一點是其中的變數名會被變數值替代,即可以解析雙引號中包含的變數。
<?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
\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
假設查詢條件中使用的是常量,例如:
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:」


附:大家也看到了
echo
'<br/>';
html中的標簽在單引號和雙引號中都有效。
總結一下PHP引號使用原則
1.字元串的值用引號
2.PHP中盡量用單引號,HTML代碼全部用雙引號
3.在包含變數的時候,用雙引號可以簡化操作
4.復雜的情況下用大括弧包起來
PHP引號還有一個用處就是,有的時候需要用php生成文本文件,換行符n需要用雙引號才能好使,單引號則會直接把n當成字元輸出。
使用總結:在字元串裡面不需要加入
變數
或者
單引號(')和反斜杠(\)
時,盡量用單引號引字元串,因為省去了雙引號檢查處理轉義和解析變數上面的時間。能用單引號盡量用單引號。

Ⅲ 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語法分析器對單引號串
的處理方式比較單純,而雙引號的處理由於串內部也需要解析,因此更復雜些,所以處理速度略慢。

Ⅳ 在PHP中,單引號字元串同雙引號字元串有什麼區別

在某些特定情況下,單引號的效率比雙引號高。
PHP把單引號中的數據視為普通字元串,不再處理。
而雙引號還要對其中的字元串進行處理,比如遇到$了會把其後的內容視為變數等。

Ⅳ php 單引號和雙引號的區別

1、變數。雙引號解釋變數,單引號不解釋變數;雙引號里插入單引號,其中單引號里如果有變數的話,變數解釋;

2、字元。雙引號解釋轉義字元,單引號不解釋轉義字元,但是解釋'和;

3、效率。能使單引號字元盡量使用單引號,單引號的效率比雙引號要高(因為雙引號要先遍歷一遍,判斷裡面有沒有變數,然後再進行操作,而單引號則不需要判斷)。

(5)php引號區別擴展閱讀:

一般情況下兩者是通用的。但雙引號內部變數會解析,而單引號則不解析。

PHP允許我們在雙引號串中直接包含字串變數。

而單引號串中的內容總被認為是普通字元,因此單引號中的內容不會被轉義效率更高。

比如:

$str = 'hello world';

echo "str is $str"; //運行結果: str is hello world

echo 'str is $str'; //運行結果: str is $str

Ⅵ 單引號、雙引號在PHP中有什麼區別

在PHP中,字元串的定義可以使用單引號,也可以使用雙引號。但是必須使用同一種單或雙引號來定義字元串,如:『Hello"和「Hello'為非法的字元串定義。
定義字元串時,只有一種引號被視為定義符,即單引號或雙引號。於是,如果一個字元串由雙引號開始,那麼只有雙引號被分析器解析。這樣,你就可以在雙引號串中包含任何其他字元,甚至單引號。

Ⅶ php中單引號和雙引號有什麼區別

單引號內部的變數不會執行
雙引號會執行

$name='hello';
echo"the$name";
會輸出thehello
而如果是單引號
$name='hello';
echo'the$name';
會輸出the$name
主要區別就是這個,其他的無所謂,看你自己喜歡了
推薦是保持一致,如用單引號其他地方保持一致就可以了,雙亦然

Ⅷ 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編程的雙引號和單引號是什麼區別呢

單引號和雙引號,實質上是沒有區別的。
但是要在復用的時候有點區別/
例如:
messagebox("單引號包含在裡面","'外面是雙引號'")
也就是嵌套。

熱點內容
sqlserver重命名 發布:2025-02-01 04:56:24 瀏覽:428
iisftp被動模式 發布:2025-02-01 04:41:50 瀏覽:350
車載安卓怎麼安裝軟體 發布:2025-02-01 04:30:50 瀏覽:469
安卓系統su程序是什麼 發布:2025-02-01 04:25:42 瀏覽:475
android代碼行數統計 發布:2025-02-01 04:20:47 瀏覽:216
快速喊話腳本 發布:2025-02-01 04:16:48 瀏覽:885
如何分辨普拉多的配置 發布:2025-02-01 04:11:45 瀏覽:681
linuxc文件刪除 發布:2025-02-01 04:11:33 瀏覽:218
c語言稀疏矩陣轉置矩陣 發布:2025-02-01 03:47:57 瀏覽:531
坦克世界掛機腳本有哪些 發布:2025-02-01 03:07:41 瀏覽:134