电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP入門學(xué)習(xí)之字符串操作

瀏覽:128日期:2022-09-07 16:43:10
字符串簡(jiǎn)介

字符串是指由零個(gè)或多個(gè)字符構(gòu)成的一個(gè)集合,這里所說的字符主要包含以下幾種類型:

數(shù)字類型,如1、2、3等。 字母類型,如a、b、c、d等。 特殊字符,如#、$、%、^、&等。 不可見字符,如n(換行符)、r(回車符)、t(Tab字符)等。

其中,不可見字符是比較特殊的一組字符,它用來控制字符串格式化輸出,在瀏覽器上不可見,只能看到字符串輸出的結(jié)果,如下:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312'); echo 'pearrapplenbanantfruit';?></body></html>

運(yùn)行結(jié)果: pear apple banan fruit

發(fā)現(xiàn)并沒有在瀏覽器上進(jìn)行換行、回車之類的。 點(diǎn)擊網(wǎng)頁查看源代碼:

PHP入門學(xué)習(xí)之字符串操作

單引號(hào)和雙引號(hào)的區(qū)別

字符串通常以串的整體作為操作對(duì)象,一般用雙引號(hào)或者單引號(hào)標(biāo)識(shí)一個(gè)字符串。單引號(hào)和雙引號(hào)在使用上有一定區(qū)別。對(duì)于定義的普通字符串看不出兩者之間的區(qū)別。而通過對(duì)變量的處理,即可輕松地理解兩者之間的區(qū)別。

雙引號(hào)中的內(nèi)容是經(jīng)過PHP的語法分析器解析過的,任何變量在雙引號(hào)中都會(huì)被轉(zhuǎn)換為它的值進(jìn)行輸出顯示;而單引號(hào)的內(nèi)容是“所見即所得”的,無論有無變量,都被當(dāng)作普通字符串進(jìn)行原樣輸出。

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312');$str='PHP';$str1='$str';$str2=’$str’;echo $str1.'<br>';echo $str2;?></body></html>

運(yùn)行結(jié)果: PHP $str

技巧:?jiǎn)我?hào)串和雙引號(hào)串在PHP中的處理是不相同的。雙引號(hào)串中的內(nèi)容可以被解釋并替換,而單引號(hào)串中的內(nèi)容則只能被作為普通字符進(jìn)行處理。 注意:在進(jìn)行SQL查詢之前,所有字符串都必須加單引號(hào),以避免可能的注入漏洞和SQL錯(cuò)誤。

字符串的連接符

半角句號(hào)“.”是字符串連接符,可以把兩個(gè)或兩個(gè)以上的字符串連接成一個(gè)字符串。 應(yīng)用字符串連接符號(hào)無法實(shí)現(xiàn)大量簡(jiǎn)單字符串的連接,PHP允許程序員在雙引號(hào)中直接包含字符串變量,當(dāng)echo語句后面使用的是雙引號(hào)(”)時(shí),可以使用下面的格式來達(dá)到同樣的效果。

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312');$str1='Java';$str2='PHP';echo '$str1,$str2,C++';?></body></html>

運(yùn)行結(jié)果: Java,PHP,C++

去除字符串首尾空格和特殊字符

用戶在輸入數(shù)據(jù)時(shí),經(jīng)常會(huì)在無意中輸入多余的空格,在有些情況下,字符串中不允許出現(xiàn)空格和特殊字符,此時(shí)就需要去除字符串中的空格和特殊字符。在PHP中提供了trim()函數(shù)去除字符串左右兩邊的空格和特殊字符、ltrim()函數(shù)去除字符串左邊的空格和特殊字符、rtrim()函數(shù)去除字符串中右邊的空格和特殊字符。

1.trim()函數(shù)

trim()函數(shù)用于去除字符串開始位置以及結(jié)束位置的空格,并返回去掉空格后的字符串。 語法格式如下:

string trim(string str [,string charlist]);

trim()函數(shù)的參數(shù)str是要操作的字符串對(duì)象,參數(shù)charlist為可選參數(shù),指定需要從指定的字符串中刪除哪些字符,如果不設(shè)置該參數(shù),則所有的可選字符都將被刪除。

trim()函數(shù)的參數(shù)charlist的可選值如下表所示。

PHP入門學(xué)習(xí)之字符串操作

注意:除了以上默認(rèn)的過濾字符列表外,也可以在charlist參數(shù)中提供要過濾的特殊字符。

使用trim()函數(shù)去除字符串左右兩邊的空格及特殊字符“rr(: :)”:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312');$str='rr(:@_@ 學(xué)習(xí)PHP @_@:) ';echo trim($str);//去除字符串左右兩邊的空格echo '<br>';echo trim($str,'rr(: :)');//去除字符串左右兩邊的特殊字符rr(::)?></body></html>

運(yùn)行結(jié)果: (:@@ 學(xué)習(xí)PHP @@:) @@ 學(xué)習(xí)PHP @@

2.Itrim()函數(shù)

Itrim()函數(shù)用于去除字符串左邊的空格或者指定字符串。

語法格式如下:

string ltrim( string str [,string charlist]);

使用Itrim()函數(shù)去除字符串左邊的空格及特殊字符“(:@_@”:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312');$str=' (:@_@ 學(xué)習(xí)PHP @_@:) ';echo trim($str);//去除字符串左邊的空格echo '<br>';echo ltrim($str,' (:@_@');//去除字符串左邊的特殊字符 (:@_@?></body></html>

運(yùn)行結(jié)果: (:@@ 學(xué)習(xí)PHP @@:) 學(xué)習(xí)PHP @_@:)

3.rtrim()函數(shù)

rtrim()函數(shù)用于去除字符串右邊的空格。

語法格式如下:

String rtrim(string str [,string charlist]);

使用rtrim()函數(shù)去除字符串右邊的空格及特殊字符“@_@:)”:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312');$str=' (:@_@ 學(xué)習(xí)PHP @_@:) ';echo trim($str);//去除字符串右邊的空格echo '<br>';echo rtrim($str,' @_@:)');//去除字符串右邊的特殊字符 @_@:)?></body></html>

運(yùn)行結(jié)果: (:@@ 學(xué)習(xí)PHP @@:) (:@_@ 學(xué)習(xí)PHP

轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)

字符串轉(zhuǎn)義、還原的方法有兩種:一種是手動(dòng)轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù),另一種是自動(dòng)轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)。下面分別對(duì)這兩種方法進(jìn)行詳細(xì)講解。

1.手動(dòng)轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)

字符串可以用單引號(hào)(‘)、雙引號(hào)(“”)、定界符({})3種方法定義。而指定一個(gè)簡(jiǎn)單字符串的最簡(jiǎn)單的方法是用單引號(hào)(‘)括起來。當(dāng)使用字符串時(shí),很可能在該串中存在這幾種符號(hào)與PHP腳本混淆的字符,因此必須要做轉(zhuǎn)義語句。這就要在它的前面使用轉(zhuǎn)義符號(hào)“”。

“”是一個(gè)轉(zhuǎn)義符,緊跟在“”后面的第一個(gè)字符將變得沒有意義或有特殊意義。如‘是字符串的定界符,寫為’時(shí)就失去了定界符的意義,變?yōu)榱似胀ǖ膯我?hào)‘。讀者可以通過echo ’‘’;輸出一個(gè)單引號(hào)‘,同時(shí)轉(zhuǎn)義字符“”也不會(huì)顯示。

技巧1:如果要在字符串中表示單引號(hào),則需要用反斜線()進(jìn)行轉(zhuǎn)義。例如,要表示字符串“I‘m”,則需要寫成“I’m”。 技巧2 :對(duì)于簡(jiǎn)單的字符串建議采用手動(dòng)方法進(jìn)行字符串轉(zhuǎn)義,而對(duì)于數(shù)據(jù)量較大的字符串,建議采用自動(dòng)轉(zhuǎn)義函數(shù)實(shí)現(xiàn)字符串的轉(zhuǎn)義。

說明:手動(dòng)轉(zhuǎn)義字符串可應(yīng)用addcslashes()函數(shù)進(jìn)行字符串還原,其具體的實(shí)現(xiàn)方法將在下面進(jìn)行介紹。

使用轉(zhuǎn)義字符“”對(duì)字符串進(jìn)行轉(zhuǎn)義:

<?phpheader('Content-Type:text/html; charset=gb2312');echo ’php,’學(xué)習(xí)PHP’’;?>

運(yùn)行結(jié)果: php,’學(xué)習(xí)PHP’

2.自動(dòng)轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)

自動(dòng)轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)可以應(yīng)用PHP提供的addslashes()函數(shù)和stripslashes()函數(shù)實(shí)現(xiàn)。

1.addslashes()函數(shù)

addslashes()函數(shù)用來為字符串str加入斜線“”。 語法格式如下:

string addslashes (string str)

2.stripslashes()函數(shù)

stripslashes()函數(shù)用來將使用addslashes()函數(shù)轉(zhuǎn)義后的字符串str返回原樣。

string stripslashes(string str);

使用自動(dòng)轉(zhuǎn)義字符addslashes()函數(shù)對(duì)字符串進(jìn)行轉(zhuǎn)義,然后使用stripslashes()函數(shù)進(jìn)行還原:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312');$str='php,’學(xué)習(xí)PHP’';echo $str.'<br>';$a=addslashes($str); //對(duì)字符串中的特殊字符進(jìn)行轉(zhuǎn)義echo $a.'<br>';$b=stripslashes($a);//對(duì)轉(zhuǎn)義字符進(jìn)行還原echo $b;?></body></html>

運(yùn)行結(jié)果: php,’學(xué)習(xí)PHP’ php,’學(xué)習(xí)PHP’ php,’學(xué)習(xí)PHP’

技巧:所有數(shù)據(jù)在插入數(shù)據(jù)庫之前,有必要應(yīng)用addslashes()函數(shù)進(jìn)行字符串轉(zhuǎn)義,以免特殊字符未經(jīng)轉(zhuǎn)義在插入數(shù)據(jù)庫時(shí)出現(xiàn)錯(cuò)誤。另外,對(duì)于使用addslashes()函數(shù)實(shí)現(xiàn)的自動(dòng)轉(zhuǎn)義字符串可以使用stripcslashes()函數(shù)進(jìn)行還原,但數(shù)據(jù)在插入數(shù)據(jù)庫之前必須再次進(jìn)行轉(zhuǎn)義。

以上兩個(gè)函數(shù)實(shí)現(xiàn)了對(duì)指定字符串進(jìn)行自動(dòng)轉(zhuǎn)義和還原。除了上面介紹的方法外,還可以對(duì)要轉(zhuǎn)義、還原的字符串進(jìn)行一定范圍的限制,通過使用addcslashes()函數(shù)和stripcslashes()函數(shù)實(shí)現(xiàn)對(duì)指定范圍內(nèi)的字符串進(jìn)行自動(dòng)轉(zhuǎn)義、還原。下面分別對(duì)兩個(gè)函數(shù)進(jìn)行詳細(xì)介紹。

3.addcslashes()函數(shù)

實(shí)現(xiàn)轉(zhuǎn)義字符串中的字符,即在指定的字符charlist前加上反斜線。

語法格式如下:

string addcslashes (string str, string charlist)

參數(shù)說明: 參數(shù)str為將要被操作的字符串,參數(shù)charlist指定在字符串中的哪些字符前加上反斜線“”,如果參數(shù)charlist中包含n、r等字 符,將以C語言風(fēng)格轉(zhuǎn)換,而其他非字母數(shù)字且ASCII碼低于32以及高于126的字符均轉(zhuǎn)換成八進(jìn)制表示。

注意:在定義參數(shù)charlist的范圍時(shí),需要明確在開始和結(jié)束的范圍內(nèi)的字符。

4.stripcslashes()函數(shù)

stripcslashes()函數(shù)用來將應(yīng)用addcslashes()函數(shù)轉(zhuǎn)義的字符串str還原。

語法格式如下:

string stripcslashes (string str)

使用addcslashes()函數(shù)對(duì)字符串進(jìn)行轉(zhuǎn)義,使用stripcslashes()函數(shù)對(duì)轉(zhuǎn)義的字符串進(jìn)行還原。

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312' /><title>PHP語言基礎(chǔ)</title></head><body><?phpheader('Content-Type:text/html; charset=gb2312');$str='學(xué)習(xí)PHP';echo $str.'<br>';$b=addcslashes($str,'學(xué)習(xí)PHP');echo $b.'<br>';$c=stripcslashes($b);echo $c;?></body></html>

運(yùn)行結(jié)果: 學(xué)習(xí)PHP 321247317260PHP 學(xué)習(xí)PHP

技巧:在緩存文件中,一般對(duì)緩存數(shù)據(jù)的值采用addcslashes()函數(shù)進(jìn)行指定范圍的轉(zhuǎn)義。

以上就是PHP入門學(xué)習(xí)之字符串操作的詳細(xì)內(nèi)容,更多關(guān)于PHP字符串操作的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 石英砂矿石色选机_履带辣椒色选机_X光异物检测机-合肥幼狮光电科技 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 苏州同创电子有限公司 - 四探针测试仪源头厂家| 耐高温硅酸铝板-硅酸铝棉保温施工|亿欧建设工程 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 清管器,管道清管器,聚氨酯发泡球,清管球 - 承德嘉拓设备 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 打包箱房_集成房屋-山东佳一集成房屋有限公司 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 土壤养分检测仪_肥料养分检测仪_土壤水分检测仪-山东莱恩德仪器 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 山东成考网-山东成人高考网 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 |