????:首先是筆記總結(jié)部分=====================php中 字符串輸出方式=================echo語(yǔ)言結(jié)構(gòu):輸出一個(gè)或多個(gè)字符串、字面量、單值變量【數(shù)組和對(duì)象不行】 可以輸出html標(biāo)簽print:功能與echo相同,但是會(huì)有一個(gè)返回值,成功返回1print_r($var, $bool):可以輸出一個(gè)標(biāo)量、數(shù)組、對(duì)象等任何類(lèi)型。var_dump($var,$var):可
首先是筆記總結(jié)部分
=====================php中 字符串輸出方式=================
echo語(yǔ)言結(jié)構(gòu):輸出一個(gè)或多個(gè)字符串、字面量、單值變量【數(shù)組和對(duì)象不行】
可以輸出html標(biāo)簽
print:功能與echo相同,但是會(huì)有一個(gè)返回值,成功返回1
print_r($var, $bool):可以輸出一個(gè)標(biāo)量、數(shù)組、對(duì)象等任何類(lèi)型。
var_dump($var,$var):可以輸出一個(gè)或多個(gè)任何類(lèi)型的變量,可以視為echo的升級(jí)版。
輸出詳細(xì)信息
var_export($var,$bool):以純字符串的形式,輸出任何類(lèi)型的數(shù)據(jù),可以用于php語(yǔ)句,適合于結(jié)果拼裝
如果最后又true,那就是儲(chǔ)存起來(lái)了這樣一個(gè)字符串,而不會(huì)顯示出來(lái),可以用echo來(lái)輸出。
printf():輸出格式化的字符串,變量使用占位符,主要用于標(biāo)量數(shù)據(jù)。
=====================php中 字符串的過(guò)濾與填充=================
1.過(guò)濾掉字符串中指定的字符。左邊、右邊、兩邊。
第一個(gè)參數(shù)是數(shù)組,第二個(gè)參數(shù)是指定要過(guò)濾的字符。0..9就是0~9都過(guò)濾掉
trim($str)
ltrim($str)
rtrim($str)
2.向指定方向,填充指定字符串到指定長(zhǎng)度【有一些實(shí)際的用途】
str_pad($str1, $size, $str2, FLAG)
pad_type:STR_PAD_LEFT【可以指定方向,往左邊填充】
3.典型應(yīng)用:數(shù)據(jù)加密
密碼一般都是md5() 32位字符串和sha1()40位字符串來(lái)產(chǎn)生,這些字符串都是隨機(jī)產(chǎn)生的。
這兩種加密方式的特點(diǎn)是相同的字母,加密結(jié)果總是相同的。
sha1(password)
md5(password)
pass = str_pad(password, 40, 'php',STR_PAD_BOTH)
對(duì)pass再一次加密
從而完成了在密碼前后添加字符后,在進(jìn)行加密。從而使得密碼難以被破解。
=====================php中 大小寫(xiě)轉(zhuǎn)換與使用場(chǎng)景分析=================
strtolower($str) //全部轉(zhuǎn)換為小寫(xiě)
strtoupper($str)//全部轉(zhuǎn)換為大寫(xiě)
ucfirst($str1, $str2)//將字符串的首字母轉(zhuǎn)換為大寫(xiě)
ucwords($str)//將字符串的每個(gè)單詞的首字母轉(zhuǎn)換為大寫(xiě)
應(yīng)用1:將文件全部轉(zhuǎn)換為小寫(xiě),從而實(shí)現(xiàn)跨平臺(tái)(Windows下文件名是不區(qū)分大小寫(xiě)的,Linux下區(qū)分大小寫(xiě))
應(yīng)用2:在不區(qū)分大小寫(xiě)的時(shí)候。 將用戶傳回來(lái)的操作全部轉(zhuǎn)換為小寫(xiě)。strtolower
=====================php中 HTML標(biāo)簽、特殊字符 的 解析與還原=================
如果寫(xiě)入過(guò)多JS代碼,影響用戶體驗(yàn)
源代碼中,有一部分HTML希望解析,有一部分不希望解析。
nl2br($str)//在換行字符\n之前插入html換行標(biāo)簽<br>
\n實(shí)現(xiàn)在頁(yè)面中的換行
htmlspecialchars($str)//引號(hào) & 標(biāo)簽標(biāo)記。。轉(zhuǎn)換成html實(shí)體字符,不解析
標(biāo)簽不再是標(biāo)簽,而不解析。
從而防止惡意操作。
htmlspecialchars_decode($str)//上面的反操作
htmlentities($str)//將所有的html標(biāo)記全轉(zhuǎn)實(shí)體,包括了htmlspecialchars()中的標(biāo)記【轉(zhuǎn)換的字符更全面】
html_entity_decode
strip_tags()//過(guò)濾掉所有的html或php標(biāo)記,也可以設(shè)置允許保留的標(biāo)記,很實(shí)用
只要是標(biāo)簽都能過(guò)濾!
可以傳入第二個(gè)參數(shù),指定保留的標(biāo)簽
=====================php中 常用的字符串查找函數(shù)=================
根據(jù)特征查詢(xún),要么是根據(jù)目標(biāo)字符串的【位置】,要么是根據(jù)字符串的【值】
substr(str,offset,length)//根據(jù)位置查詢(xún),獲取指定位置或區(qū)間的字符串
strstr(str,str,bool)//查詢(xún)字符串首次出現(xiàn)的位置,并且返回字符串
strpos(str,str,start)//查詢(xún)字符串首次出現(xiàn)的位置,返回所在位置,是一個(gè)整數(shù)
=====================php中 字符串經(jīng)典的替換操作=================
str_replace(str,str,str)//路徑替換,命名空間轉(zhuǎn)換。。//將字符串中的部分內(nèi)容,用目標(biāo)字符串進(jìn)行替換
查找內(nèi)容,換成啥,在哪個(gè)字符串操作
str_ireplace //在上面的基礎(chǔ)上忽略大小寫(xiě),粗查找
substr_replace(str,str,offset,size)//替換區(qū)間
在哪個(gè)字符串操作,替換對(duì)象,從哪里開(kāi)始,替換多長(zhǎng)
=====================php中 URL與JSON常用的操作函數(shù)=================
urlencode(url)//對(duì)URL地址字符串進(jìn)行編碼處理
就是在特殊字符前面加上%,防止服務(wù)器解析出現(xiàn)歧義,比如空格、中文漢字等
$url='';
$url = urlencode(str)
urldecode(url)//轉(zhuǎn)換回到可以訪問(wèn)的URL地址
parseurl(url)//解析URL地址
http_build_query(arr)//生成URL動(dòng)態(tài)查詢(xún)字符串
【?鍵值對(duì)】問(wèn)號(hào)后面的部分就是查詢(xún)字符串
http_build_query(['cate_id'=>3,'art'=>10])
json相關(guān)的函數(shù)
1.json必須是utf8編碼
2.不能處理資源類(lèi)型:resource
json_encode(var)//將數(shù)據(jù)轉(zhuǎn)為json格式。。。unicode編碼
可以對(duì)變量、數(shù)組等進(jìn)行編碼
數(shù)組的編碼結(jié)果類(lèi)似于{"bust":88,"waist":85}
json_decode(str)//將json格式的字符串解析還原為變量
默認(rèn)返回的都是對(duì)象格式
json_decode(json格式)
如果第二個(gè)可選參數(shù)寫(xiě)上true,則返回的是數(shù)組格式。
然后是小案例部分。在這里我的小案例做的是url相關(guān)的操作。
$url="www.baidu.com"; $url=urlencode(str); echo $url;
這個(gè)小函數(shù)完成的是將URL地址中的特殊字符進(jìn)行編碼處理,從而防止服務(wù)器的解析出現(xiàn)歧義。
在本課程的學(xué)習(xí)中,主要是簡(jiǎn)單的函數(shù)的應(yīng)用,但是結(jié)合起來(lái)可以達(dá)成很多網(wǎng)頁(yè)上需要的功能,如密碼的加密等,如防止外部的攻擊等。具體的應(yīng)用我會(huì)在后續(xù)的學(xué)習(xí)中繼續(xù)思考,多加使用并且多加思考。
?? ???:查無(wú)此人?? ??:2019-04-08 16:08:11
???? ??:完成的不錯(cuò),筆記寫(xiě)了那么多,看來(lái)你學(xué)了不少。繼續(xù)加油。