PHP常用函式大全

2021-09-25 19:45:50 字數 4202 閱讀 2440

字串函式

strlen:獲取字串長度,位元組長度

substr_count 某字串出現的次數

substr:字串擷取,獲取字串(按照位元組進行擷取)

mb_strlenmb_substr

strchr:與substr相似,從指定位置擷取一直到最後

strrchr(獲取檔案字尾名):與strchr一樣,只是從右邊開始查詢字元

strtolower:所有的字元都小寫(針對英文本母)

strtoupper:所有的字元都大寫

strrev:字串反轉(只能反轉英文:英文儲存只有乙個位元組),按照位元組進行反轉

strpos:從字串中找對應字元出現的位置(數字下標),從最左邊開始找

strrpos:與strpos一樣,只是從字串的右邊開始找

trim:去掉函式兩邊的字元,預設是空格

str_split 函式把字串分割到陣列中。

chunk_split() 函式把字串分割為一連串更小的部分

str_repeat("shanghai",5);把字串 "shanghai " 重複 5 次 

str_replace('\\', '/', dirname(__dir__))); 替換

ucfirst 首字母大寫

2時間日期函式

time:得到當前時間的時間戳(整型:從格林威治時間2023年1月1日0時0分0秒開始)秒數

date:時間序列化函式,將指定的時間戳轉換成規定時間日期的顯示格式(隨意的字串:有專業的格式符規定),如果沒有指定時間戳,系統預設使用當前時間的時間戳

strtotime:時間日期格式的字串轉換成對應的時間戳(只要是正確的英語時間表達方式,都可以進行轉換)

microtime:微秒時間戳,根據不同的要求返回不同的結果 混合 microtime (布林型別 ),可以返回乙個浮點數的時間,也可以返回乙個陣列(時間戳和微秒數)

數學相關函式

abs:絕對值

floor:向下取整 floor(3.2) 結果等於3

ceil:向上取整

round:四捨五入

rand:取得乙個指定範圍內的隨機整數

mt_rand:取得乙個指定範圍內的隨機整數(效率更高)

min:php 會將非數值的 string 當成 0,但如果這個正是最小的數值則仍然會返回乙個字串。如果多個引數都求值為 0 且是最小值,min() 會返回按字母表順序最小的字串,如果其中沒有字串的話,則返回數值的 0;

max:php 會將非數值的字串當成 0,但如果這個正是最大的數值則仍然會返回乙個字串。如果多個引數都求值為 0 且是最大值,max() 會返回其中數值的 0,如果引數中沒有數值的 0,則返回按字母表順序最大的字串。對於多個陣列,max從左到右比較;如果同時出現陣列和非陣列引數總把陣列作為最大值返回;

陣列相關函式

count() // 非陣列返回1

key:獲取當前陣列當前指標所指向的元素的下標

current:獲取的當前指標指向元素的數值

end :將指標移到陣列的最後乙個元素,並返回最終指標位置的值

reset:將指標移到陣列的第乙個元素,返回最終指標位置的值

array_keys:獲取乙個陣列的所有鍵名,返回乙個索引陣列

array_values:獲取乙個陣列的所有值,返回乙個索引陣列

explode:**,將乙個字串按照某個指定的規則(通常是特殊字元),將陣列分成多個段,每一段都當做乙個陣列的元素,返回乙個索引陣列

split 類似 explode  explode('.', 'abc.txt')等於split('\.','abc.txt')

implode:粘合,將乙個陣列內部的所有元素按照某個指定的規則(特殊字元),將所有的元素拼接成乙個字串

join()  把陣列元素組合為乙個字串

array_merge:合併,指的是將兩個陣列中的元素進行累計。如果後面的陣列與前面的陣列有下標(鍵名:關聯)相同的,那麼後面的元素的值會覆蓋前面的;如果是索引的相同下標,會自動的修改下標疊加到前面的陣列裡。

array_reverse — 返回反轉後的陣列

array_flip — 交換陣列中的鍵和值

資料結構模擬函式

array_shift:從陣列的前面彈出元素,得到元素的值

array_pop:從陣列的後面彈出元素,獲得元素的值

array_unshift:從陣列的前面壓入元素,得到當前陣列元素的個數

array_push:從陣列的後面壓入元素,得到當前陣列元素的個數

判斷變數

is_bool:判斷是否是布林型別

is_float:判斷浮點型

is_integer:判斷整型

is_object:判斷物件

is_array:判斷陣列

is_string:判斷字串

is_resource:判斷資源

is_scalar:scalar是標量的,判斷是基本資料型別:整型,浮點型,布林型和字串型

is_null 檢測變數是否為null 是返回true 否則返回false。1.被賦值為null;2.變數沒被賦值;3.被unset()

is_numeric:判斷數字或者純數字組成的字串

gettype:獲得資料型別

settype:改變資料型別

isset

unset() 如果在函式中 unset() 乙個全域性變數,則只是區域性變數被銷毀,而在呼叫環境中的變數將保持呼叫 unset() 之前一樣的值,如果在函式中 unset() 乙個通過引用傳遞的變數,則只是區域性變數被銷毀,而在呼叫環境中的變數將保持呼叫 unset() 之前一樣的值。empty//array(),"",0,"0",null,false 都返回true

檔案操作函式

opendir(路徑):開啟乙個路徑資源(將路徑內部的所有資料讀入到記憶體)

readdir(路徑資源):從資料夾資源中讀取當前資源指標所指向的檔案的名字,指標會向下移動一位

closedir(資源):釋放對應的檔案資源

scandir(路徑):讀取乙個路徑內部的所有檔名,返回乙個陣列,陣列的每乙個元素都是檔名。

file_exists:判斷乙個檔案是否存在(檔案是廣義:路徑和檔案)

is_dir:判斷乙個指定路徑是否存在(資料夾)

is_file:判斷乙個指定路徑是否是檔案(檔案)

mkdir:建立乙個路徑,如果路徑存在就會報錯

rmdir:移除資料夾

file_get_contents:從乙個指定的檔案內讀取資料內容。

file_put_contents:將指定的字串寫入到對應的檔案

fopen:開啟乙個檔案資源

fgetc:c代表character,一次讀取乙個字元

fgets:s代表string,代表可以讀取多個字元,取決於指定的讀取長度或者是否碰到換行(最多只能讀取一行資料)

兩個函式都是對當前資源指標進行操作,讀取之後都會將指標下移

fread:獲取指定長度的資料直到檔案結束

fwrite:向檔案資源指標所在的位置寫入資料,寫東西不會將當前位置已有的東西往後移,而是會覆蓋

fseek:將指標指定到對應的位置

fclose:使用對應的檔案資源

copy:複製

unlink:刪除檔案

rename:重新命名檔案

filemtime:m代表modify,檔案最後被修改的時間

filesize:檔案大小(位元組)

fileperms:檔案許可權(linux下的八進位制)

排序rsort() 函式用於對陣列單元從高到低進行排序。asort() 函式用於對陣列單元從低到高進行排序並保持索引關係。arsort() 函式用於對陣列單元從高到低進行排序並保持索引關係。ksort() 函式用於對陣列單元按照鍵名從低到高進行排序。krsort() 函式用於對陣列單元按照鍵名從高到低進行排序。

報錯error_reporting(e_all)

ini_set('display_errors', 1)

常量define() 定義常量defined() 檢測常量是否定義

序列化serialize

unserialize

json_encode 對變數進行 json 編碼 

json_decode  對json 格式的字串進行編碼

編碼base64_encode 本函式將字串以 mime base64 編碼。在 base64 編碼後的字串只包含英文本母大小寫、阿拉伯數字、加號與反斜線,共 64 個基本字元,不包含其它特殊的字元,因而才取名 base64。

PHP 常用函式大全

批量替換多層目錄中檔案內容 function listfiles dir 閱讀目錄 while false file readdir handle else else 獲得當前的指令碼 function get php url else return nowurl 把全形數字轉為半形數字 funct...

PHP函式大全 5

xml parser functions xml parser create int xml parser create string encoding 建立乙個xml解析器。xml set element handler boolean xml set element handler int pa...

PHP檔案函式大全

basename 返回路徑中的檔名部分 chgrp 改變檔案所屬的組 chmod 改變檔案模式 chown 改變檔案的所有者 clearstatcache 清除檔案狀態快取 copy 拷貝檔案 delete 參見 unlink 或 unset dirname 返回路徑中的目錄部分 disk free...