php雙引號單引號,php單雙引號區別

本文目錄一覽:

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 單引號和雙引號的區別

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

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

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

擴展資料: 

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

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

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

比如:

$str = ‘hello world’;

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

echo ‘str is $str’; //運行結果: str is $str

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

$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中的雙引號和單引號的應用

無論是書寫

JavaScript

還是

PHP,總習慣於使用單引號。但周末在家

coding

的時候碰到個問題,需要通過

PHP

過濾字元串中的換行符,按照下面的方法操作:

$out

=

str_replace(array(‘rn’,

‘r’,

‘n’),

”,

$out);PHP

提供三種定義字元串的方法:單引號、雙引號、本地文檔(英文叫做

here

document

或者

heredoc)。

單引號:

使用單引號是最高效的方法,因為

PHP

不會檢查單引號字元串中的內置變數和轉義序列,需要轉義的字元只有反斜杠和單引號本身。

雙引號:

會檢查內置變數和轉義序列,但不能識別轉義的單引號。這也正說明了開始那段代碼的錯誤之處,正確的做法是使用雙引號來定義換行的轉義序列:

$out

=

str_replace(array(“rn”,

“r”,

“n”),

”,

$out);本地文檔:

檢查所有的內置變數和轉義序列,雙引號無需轉義。例如:

echo

this

is

a

“here

document”

example.

just

for

test.

EOT;簡單記錄下,加深印象。

原創文章,作者:LNUJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137500.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LNUJ的頭像LNUJ
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟體開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • TensorFlow和Python的區別

    TensorFlow和Python是現如今最受歡迎的機器學習平台和編程語言。雖然兩者都處於機器學習領域的主流陣營,但它們有很多區別。本文將從多個方面對TensorFlow和Pyth…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • 麥語言與Python的區別

    麥語言和Python都是非常受歡迎的編程語言。它們各自有自己的優缺點和適合的應用場景。本文將從語言特性、語法、生態系統等多個方面,對麥語言和Python進行詳細比較和闡述。 一、語…

    編程 2025-04-28

發表回復

登錄後才能評論