PHP中引號的使用

2021-06-22 06:41:58 字數 3068 閱讀 6291

一、引號定義字串

1.在普通字串的定義上單引號和雙引號的效果相同

如:'i am a string in single quotes'

"i am a string in double quotes"

2.混合使用時以以哪種開頭,就以哪種結尾

如:$s = "i am a 'single quote string' inside a double quote string";

$s = 'i am a "double quote string" inside a single quote string';

3.使用案例解析

"why doesn't "this" work?"

解析:實際上被php語法分析器分成三個部分:

"why doesn't "——包含乙個單引號的雙引號串

this——多餘的字元,分析器無法處理

" work?" ——普通字串

4.引號中轉義字元的使用,針對於特殊字串

如:$file = "c:\windows\system.ini";

echo $file; // 列印結果為: c:windowssystem.ini

$file = "c:\\windows\\system.ini";

echo $file; // 列印結果為: c:\windows\system.ini

5.另一種字串定義方式,能夠消除特殊字元的煩惱,便於引用較長的文字。

(1) 該字串定義方法:

以《符號緊跟乙個自定義字串開頭,最後一行以該自定義字串結束,並且必須頂格。

(2) 案例

$sql =<<

二、字串的連線

1.字串可以使用字串連線符(.)來連線

如:$first_name = 'charlie';

$last_name = 'brown';

$full_name = $first_name . ' ' . $last_name;

2.在php中寫html**時常用賦值號 (=) 連線符 (.) 可以被簡寫合併為 (.=) 符號來使用

如:$html = '';

$html .= 'number

square

';for ( $i=0 ; $i<10 ; $i++) 

$html .= '';

三、在字串中使用變數

1.在字串中使用變數可以直接使用變數,或將變數放在雙引號中,卻不能是單引號中

如 $this->conn_string = "$this->host" . ' ' . "$this->port" . ' ' . "$this->dbname" . ' ' . "$this->login"; //right

$this->conn_string = $this->host . ' ' . $this->port . ' ' . $this->dbname . ' ' . $this->login; //right

$this->conn_string = '$this->host' . ' ' . '$this->port' . ' ' . '$this->dbname' . ' ' . '$this->login';//wrong

2.在引號中的陣列變數的使用,需用{}括起以便語法分析器識別

如:echo "value = "; // 列印結果 "value = 3"

echo "value = \"; // 列印結果 "value = "

三、斜槓和sql語句

生成html**或sql查詢語句是編寫php程式時經常遇到而且是件有趣的事情。為什麼這麼說呢,

因為這涉及到生成另外一種型別的**,你必須仔細地考慮和遵循這種**所要求的編寫語法和規

則。我們來看這樣乙個例子,假如你想查詢資料庫中名字是「o'keefe」的使用者,通常sql語句的形式

是這樣的:

select * from users where last_name = 'o\'keefe'

請注意sql語句這個英文所有格(撇號)需使用反斜槓轉義。php專門提供了一些函式來處理這樣

的情況,函式addslashes($str)的用途就是自動在字串中對引號字元插入反斜槓轉義符:

$last_name = "o'keefe";

$sql = "select * from users where last_name = '" . addslashes($last_name) . "'";

在這個例子中,你還要在last_name字串外面括上單引號(sql語法要求),由於這裡使用的是雙

引號串,所以對這對單引號就無須使用轉義了。下面的這個語句是使用單引號串的等價形式:

$sql = 'select * from users where last_name = \'' . addslashes($last_name) . '\'';

任何時候你要在資料庫中寫入字串,你都必須確保裡面的引號正確使用了轉義符號,這是很多php

初學者常犯的錯誤。

四、雙引號和html

與sql語句不同,在標準html語言中雙引號常被用來表示字串(現在很多瀏覽器具備較強的容錯功

能,允許在html中用單引號甚至不用引號表示字串),例如:

$html = ''.$link.'';

$html = "$link";

html語言不支援反斜槓轉義,這一點在我們使用表單的hidden inputs來傳輸資料的時候就會有所

體會了。設定hidden inputs的值的最好辦法,是使用htmlspecialchars()函式來編碼。下面的語句可

以正常傳輸乙個可能包含雙引號的資料:

">

一、 引號定義字串。要達到包含引號的目的, 必須分析器在遇到串內普通引號的時候忽略它的原意,我們在引號的 前面加上乙個反斜槓來告訴php:這個引號是字串的一部分,正確的表示方法是這樣:單引號串可以用在其他任何地方,指令碼中使用單引號串處理速度會更快 些,因為php語法分析器對 單引號串的處理方式比較單純,而雙引號的處理由於串內部也需要解析,因此更複雜些,所以處理速 度略慢。

這個...雙引號轉義,單引號不轉義

如:/r/n是換行,但是如果你用單引號寫入檔案,不會是換行,而是乙個字元,如果用雙引號寫入檔案,就是換行. 

同意。

PHP單引號和雙引號的使用

之前剛開始學 php 時,自以為有那麼一點 c c 基礎,對一些基礎內容就只是大略看了下,後來做專案時,才發現基礎是很重要的,有時候一些小小的問題也要花你好長的時間,原因就是基礎沒打好。最近打算把 php 重新看一遍,鞏固下基礎內容。單引號的作用就是包涵一段字串,解析字串時變數和轉義序列都不會被解析...

PHP中的魔術引號

魔術引號 magic quote 是乙個自動將進入 php 指令碼的資料進行轉義的過程。最好在編碼時不要轉義而在執行時根據需要而轉義。當開啟時,所有的 單引號 雙引號 反斜線 和 null 字元都會被自動加上乙個反斜線進行轉義。這和 b addslashes b 作用完全相同。轉義魔術引號的函式 b...

PHP中的魔術引號

魔術引號 magic quote 是乙個自動將進入 php 指令碼的資料進行轉義的過程。什麼是魔術引號 當開啟時,所有的 單引號 雙引號 反斜線 都會被自動加上乙個反斜線進行轉義。這和addslashes 作用完全相同。三個魔術引號指令 1.magic quotes gpc 影響到 http 請求資...