你應該這個姿勢學習PHP(1)

2021-09-20 13:40:59 字數 3215 閱讀 8624

1、addslashes

addslasehes($string) 對字串進行編譯轉義

應用場景:能防止sql的注入(當然並不完全是可以,我們可以使用pdo進行預處理然後方式sql的注入,安全不能只靠一種方式防止事情的發生)

2、echo ,print,printf,number_format

1)echo是語言結構體,不是函式,沒有返回值,能輸出多個值

for example:echo $a,$b

應用場景:輸出一些字串

2)print是乙個函式,它只有乙個引數,有返回值,不能輸出物件和陣列

應用場景:輸出一些引數值

3)print_r()是乙個函式,有返回值,能輸出物件和陣列

應用場景:列印一些陣列或者物件

4)var_dump是乙個函式,有返回值

應用場景:能夠返回資料的型別,列印一切值

5)printf()是乙個函式,有返回值,格式化輸出

for example:

$str = 'string';$num=1;

sprintf("$s is string,$u is int",$str,$num);

還能格式化浮點數,是ceil原則,四捨五入

sprintf('%.2f',23.453) 23.45

6)number_format(num,int=要保留的小數字,如果不寫將四捨五入) 將數字轉換成貨幣格式

3、trim,rtrim,ltrim

字串的去除空格以及指定的字元

trim($string,'str') 去除整個字串的指定的字元,如果不填則是預設去掉空格等

ltrim()同上去除左邊,rtrim()同上去除右邊

應用場景:去掉使用者在設定密碼的時候的左右多餘的空格

4、implode,join

將陣列轉換成字串

應用場景:比如你有乙個使用者的資訊要在前端展示,然後後端返回的是乙個陣列,那麼就可以使用implode(',',$arr)

5、explode,str_split

將字串拆分成乙個陣列

應用場景:比如前端傳給後端乙個1,simengphp 你想或者simengphp這個字串,那麼你就可以使用

explode(',',$arr)[1]

6、substr,strstr,strrchr

1)substr字串的擷取函式

應用場景:我要獲取字串的前幾位

substr($str,0,n) 缺點,如果是中文字元會導致擷取亂碼

mb_substr($str,0,n,'編碼') 這個可以指定字元編碼進行擷取

2)strstr 某個字元出現的位置並返回這個字元在字串裡面的後半部分值

strstr($str,'.')

3)strrchr()

應用場景:$str = 'uploads/a.b.php';echo strrchr($str,'.'); //輸出.php 這個是乙個經典的面試題

7、str_replace,str_ireplace, substr_replace

1)str_replace(search,res,$str) 替換某個為你所想要的

應用場景:替換到使用者傳過來單詞的某個值

2)substr_replace($str,res,0,n)

應用場景:隱藏手機號的中間幾位數

$str = '18522713541';

echo substr_replace($str,'',3,3); //18513541

8、strlen,strpos,stripos,strrpos,strripos

1)strlen獲取字串的長度

應用場景:配合substr計算使用者的長度擷取字串

2)strpos某個字元出第一次現在字串的第幾位並返回位數(區分大小寫)

應用場景:返給前端乙個全路徑時候,判斷是否包含http,如果包含則不拼接,不包含則拼接

stripos同上不區分大小寫

3)strrpos返回某個字元最後一次出現在字串的位置

strripos同上不缺分大小寫

9、nl2br,htmlspecialchars(),htmlspecialchars_decode(),strip_tag()

1)nl2br將n轉換成br

2)htmlspecialchars()將一些特殊字元轉成html實體

3)strip_tags($str,[allows_tags]) 去掉html**,allows_tags是允許存在哪些標籤

應用場景:過濾掉一些html**然後擷取展示到簡介地方

10、lcfirst,ucfirst,ucworlds,strtolower,strtoupper

1)lcfirst() 將乙個字元的第乙個字母小寫

2)ucfirst()將字元的第乙個字元大寫

3)unworlds()將字串中的每個單詞的首字母轉換成大寫

4)strtolower()將全部字元轉成小寫

5)strtoupper()將全部字元轉成大寫

12、str_repeat,str_pad

1)str_repeat(x,num) 重複乙個字元多少次

應用場景:我們新聞門戶簡介展示不開,需要使用...代替,那麼我們可以使用這個重複,然後展示

2)str_pad($str,『x』,10) 填充指定字元將字串到指定長度

應用場景:比如我們有乙個需求是將一些字段統一為一樣長度的字串,然後傳輸到後台處理,可以使用這個

13、sha1,md5,hex2bin,bin2hex

1)sha1和md5 加密函式

2)hex2bin 將乙個字元以16進製制轉成2二進位制,bin2hex正好相反

應用場景:以上都是傳輸引數進行加密以及驗籤常用的加密函式,包含單向和雙向加解密

1)pase_str($str,$out) 將字串轉換成陣列 $out[xx]

應用場景:路由解析獲取引數名和引數值

2)pase_url($url) 解析乙個url,返回頭資訊,主機網域名稱等等資訊

應用場景:獲取當前url的主機名以及網域名稱等

3)pathinfo()返回檔案的路徑資訊

應用場景:獲取檔案的副檔名pathinfo()[extension]

4)http_build_query($arr,[以某個字元鏈結])

應用場景:將乙個陣列轉換成乙個url引數格式的字元

關於PHP陣列你應該知道的事情

1 php陣列的遍歷順序 先舉個栗子 arr a 123 arr b 456 arr c 789 foreach a as val 這段 的輸出,顯然會得到如下的結果 那麼,如果是如下的 呢?arr 2 123 arr 1 456 arr 0 789 foreach a as val 這兩段 不同之...

你應該首先保護哪些應用程式 這個問題本身問錯了

如果貴企業與大多數企業一樣,那麼it環境中可能有數百個 乃至數千個應用程式。它們極有可能是在過去10年或20年編寫 更新和打上補丁的。你可能對那些應用程式並沒有做好足夠到位的安全工作。要說有什麼可以讓你稍稍寬慰,那就是我們採訪的每個人其實處境一模一樣。在人們不知不覺當中,安全這筆債很快會堆積如山。起...

吐槽和臥槽以及跳槽的含義,這個你應該知道

槽 槽 c o 一種長方形或正方形的較大的盛東西的器具 槽子。水槽。酒槽。槽坊 特指用來盛飼料喂牲畜。臥槽的三種含義 1 我草或操或曹,用來罵人的。2 象棋裡的落馬,在帥的上面。3 一種活著的哲學,指好好活著。4 呆在現單位,暫時不跳槽,在必要的時候將老闆一軍,跳槽到別的公司 臥槽是與 跳槽 想對應...