PHP常用函數大全

原文鏈接:https://blog.csdn.net/qq_35458793/article/details/80651773

字符串函數

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:得到當前時間的時間戳(整型:從格林威治時間1970年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:獲取的當前指針指向元素的數值

next:獲取下一個元素的值,並且將指針下移

prev:獲取上一個元素的值,並且將指針上移

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。

base64_decode 解碼
--------------------- 
作者:笑對丶人生 
來源:CSDN 
原文:https://blog.csdn.net/qq_35458793/article/details/80651773 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章