本文目錄一覽:
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編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php。
2、在index.php中,輸入代碼:echo “他說:\”我愛你!\””;。
3、瀏覽器運行index.php頁面,此時頁面能成功通過轉義字符的方式打印出了雙引號。
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;簡單記錄下,加深印象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/282835.html