亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP教程-網站開發編程中的特殊符號處理

2020-03-24 18:58:16
字體:
來源:轉載
供稿:網友
1 PHP中單引號與雙引號的區別


在PHP中,通常一個字符串被定義在一對引號中,如:

'I am a string in single quotes'
I am a string in double quotes

html' target='_blank'>PHP語法分析器是用成對的引號來判斷一個字符串的。因此,所有字符串必須使用同一種單或者雙
引號來定義開始和結束。例如,下面的字串定義是不合法的:

I am not a valid string since I have unmatching quote marks'
'Me neither!

定義字符串時,只有一種引號被視為定義符,即單引號或雙引號。于是,如果一個字符串由雙引
號開始,那么只有雙引號被分析器解析。這樣,你就可以在雙引號串中包含任何其他字符,甚至單引
號。下面的引號串都是合法的:

$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遇到與串的開頭相對應的引號時,便認為已經到了字符串尾部,于是:

Why doesn't this work?

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

Why doesn't 包含一個單引號的雙引號串
this 多余的字符,分析器無法處理
work? 普通字符串

上面的這個例子企圖在雙引號串中包含雙引號,而分析器在遇到第二個雙引號時便認為字符串結
束了。要達到包含引號的目的,必須分析器在遇到串內普通引號的時候忽略它的原意,我們在引號的
前面加上一個反斜杠來告訴PHP:這個引號是字符串的一部分,正確的表示方法是這樣:

Why doesn't / that/ work?

在英文字符串中一個常見的問題是撇號'的使用,因為它就是一個單引號,而在英文串中十分常見
(英文所有格)。你必須小心處理這些字符:

'You/'d better escape your apostrophes'

可以看到反斜杠在字符串中有他的特殊含義,當我們需要在字符串中包含反斜杠本身時,需要在
該符號前面多加一個反斜杠。例如:

$file = c:/windows/system.ini
echo $file; // 打印結果為: c:windowssystem.ini
$file = c://windows//system.ini
echo $file; // 打印結果為: c:/windows/system.ini

另一種字符串定義方式,能夠消除特殊字符的煩惱,而且便于引用較長的文本。該字符串定義方
法以 符號緊跟一個自定義字符串開頭,最后一行以該自定義字符串結束,并且必須頂格。


二、字串的連接

字串可以使用字串連接符(.)來連接,如:

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

常見的用途是建立大塊的HTML字串代碼,賦值號 (=) 連接符 (.) 可以被簡寫合并為 (.=) 符
號,如:

$html = ' table
$html .= ' tr td number /td td square /td /tr
for ( $i=0 ; $i $i++) {
$square = $i * $i;
$html .= ' tr td ' . $i . ' /td td ' . $square . ' /td /tr
}
$html .= ' /table


三、在字串中使用變量

這個功能讓你無須使用連接符號來粘和大量的簡單字符串。PHP允許我們在雙引號串中直接包含字
串變量,我們可以發現下面的兩個字串的處理結果是相同的。

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

單引號串和雙引號串在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

正如你所看到的,在單引號串中甚至反斜杠也失去了他的擴展含義(除了插入反斜杠//和插入單

2 PHP中單引號與雙引號的區別引號/')。所以,當你想在字串中進行變量代換和包含/n(換行符)等轉義序列時,你應該使用雙引
號。單引號串可以用在其他任何地方,腳本中使用單引號串處理速度會更快些,因為PHP語法分析器對
單引號串的處理方式比較單純,而雙引號的處理由于串內部也需要解析,因此更復雜些,所以處理速
度略慢。

在字符串中引用復雜的變量組合時,可能會產生一些問題,下面的代碼會正常工作:

echo value = $foo
echo value = $a[$i]

而下面的代碼卻不能得到我們希望的結果:

echo value = $a[$i][$j] //我們希望打印二維數組$a的某個元素。

為避免這些字串使用中的潛在問題,我們通常把復雜的變量從字串中分離開來,就像這樣:

echo 'value = ' . $a[$i][$j];

還有一種辦法是將復雜變量用花括號括起來,語法分析器就能正確辨認了:

echo value = {$a[$i][$j]} //打印二維數組$a的某個元素

這樣,又出現新問題了。當我們想在字串中引用花括號字符本身時,就要記得使用轉義符了:

$var = 3;
echo value = {$var} // 打印結果 value = 3
echo value = /{$var} // 打印結果 value = {3}


三、斜杠和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 = ' a href= '.$url.' '.$link.' /a
$html = a href=/ $url/ $link /a

HTML語言不支持反斜杠轉義,這一點在我們使用表單的hidden inputs來傳輸數據的時候就會有所體會了。設置hidden inputs的值的最好辦法,是使用htmlspecialchars()函數來編碼。下面的語句可以正常傳輸一個可能包含雙引號的數據:

input type=hidden name=var value= ?php echo htmlspecialchars($var) ?


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

這個...雙引號轉義,單引號不轉義
如:/r/n是換行,但是如果你用單引號寫入文件,不會是換行,而是一個字符,如果用雙引號寫入文件,就是換行.html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品第二页| 精品国偷自产在线视频| 精品国产户外野外| 97国产成人精品视频| 国产成人极品视频| 日韩高清人体午夜| 国产精品都在这里| 日韩精品中文字幕在线播放| 亚洲综合精品一区二区| 97热在线精品视频在线观看| 精品国产一区二区三区久久| 久久亚洲精品小早川怜子66| 国产欧美一区二区三区久久人妖| 91精品国产91久久久久久久久| 日韩有码视频在线| 国产精品久久久久久一区二区| 欧美日韩精品二区| 4p变态网欧美系列| 97国产真实伦对白精彩视频8| 欧美日韩精品中文字幕| 性色av一区二区咪爱| 日韩av免费看网站| 97超级碰碰人国产在线观看| 久久久国产视频| 国产精品国产三级国产aⅴ浪潮| 夜夜嗨av色综合久久久综合网| 久热精品在线视频| 欧美激情视频一区| 日韩欧美福利视频| 国产香蕉一区二区三区在线视频| 国产97在线亚洲| 美女av一区二区三区| 国产91ⅴ在线精品免费观看| 免费91在线视频| 国产手机视频精品| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲欧美综合v| 亚洲欧美一区二区三区情侣bbw| 色无极亚洲影院| 国产97在线视频| 久久精品精品电影网| 国内精品久久久久影院优| 亚洲欧洲黄色网| 美日韩精品免费观看视频| 国语自产偷拍精品视频偷| 久久国产精品免费视频| 久久偷看各类女兵18女厕嘘嘘| 亚洲aa在线观看| 欧美激情免费看| 欧美日韩激情视频8区| 亚洲电影免费在线观看| 久久精品91久久香蕉加勒比| 亚洲黄色av女优在线观看| 久久久久九九九九| 一区二区三区精品99久久| 久久精品成人欧美大片古装| 国产精品免费久久久久久| 国产精品亚洲第一区| 黑人与娇小精品av专区| 久久精品成人动漫| 久久视频在线看| 成人在线激情视频| 九九精品视频在线| 日韩欧美在线视频日韩欧美在线视频| 国产免费久久av| 97涩涩爰在线观看亚洲| 九九热这里只有在线精品视| 免费97视频在线精品国自产拍| 国语自产精品视频在线看| 久久亚洲精品一区| 亚洲精品视频网上网址在线观看| 黑人巨大精品欧美一区免费视频| 国产精品高潮粉嫩av| 久久久www成人免费精品| 欧美情侣性视频| 91国在线精品国内播放| 少妇高潮久久久久久潘金莲| 国内免费久久久久久久久久久| 美女av一区二区三区| 精品国产一区二区三区久久狼5月| 日韩欧美亚洲成人| 欧美—级a级欧美特级ar全黄| 午夜免费久久久久| 国产福利精品av综合导导航| 亚洲精品日韩欧美| 97超级碰碰人国产在线观看| 91在线免费看网站| 欧美日韩国产第一页| 日韩69视频在线观看| 久久久久一本一区二区青青蜜月| 欧美大尺度电影在线观看| 九色91av视频| 欧美黑人极品猛少妇色xxxxx| 91夜夜揉人人捏人人添红杏| 成人字幕网zmw| 亚洲精品欧美极品| 久久这里只有精品99| 久久久久亚洲精品成人网小说| 欧美特黄级在线| 国产精品久久久久久av下载红粉| 亚洲国产成人av在线| 国产精品热视频| 日韩成人久久久| 亚洲免费视频在线观看| 国产成人精品国内自产拍免费看| 国产69久久精品成人| 91国内精品久久| 日韩美女视频中文字幕| 最新国产精品亚洲| 日韩精品视频中文在线观看| 亚洲午夜精品久久久久久久久久久久| 亚洲成人在线视频播放| 中文国产成人精品| 伊人一区二区三区久久精品| 欧美电影在线观看高清| 亚洲天堂av在线免费| 亚洲缚视频在线观看| 91高清视频免费| 亚洲一区二区三区在线视频| 久久男人av资源网站| 久久精品福利视频| 亚洲精品一区二区在线| 亚洲精品www久久久久久广东| 97久久精品国产| 亚洲第一男人天堂| 韩国国内大量揄拍精品视频| 国产69精品99久久久久久宅男| 日韩毛片中文字幕| 久久久久久久久久久久av| 日日摸夜夜添一区| 色偷偷91综合久久噜噜| 国产精品wwww| 亚洲国产日韩欧美在线动漫| 一区二区亚洲欧洲国产日韩| 欧美巨猛xxxx猛交黑人97人| 成人国产精品久久久| 免费91麻豆精品国产自产在线观看| 欧美与欧洲交xxxx免费观看| 日韩免费高清在线观看| 亚洲毛茸茸少妇高潮呻吟| 亚洲欧美在线第一页| 欧美在线视频一二三| 国产一区二区三区在线播放免费观看| 成人美女免费网站视频| 国产成人精彩在线视频九色| 国产精品久久久久久久美男| 91精品国产综合久久香蕉| 精品久久久久久国产91| 欧美高清videos高潮hd| 91精品国产91久久| 国产精品夜间视频香蕉| 91精品国产色综合久久不卡98口| 少妇av一区二区三区| 亚洲人成伊人成综合网久久久| 欧美影院久久久| 国产欧美日韩精品专区| 久久伊人91精品综合网站| 午夜精品一区二区三区在线播放| 久久国产精品久久久久久| 精品久久久久久久久久| 日韩一级裸体免费视频| 国产精品亚洲网站| 青青草99啪国产免费| 永久免费看mv网站入口亚洲|