PHP基礎知識小結
原始數據類型(9種)
基本數據類型: 整形(integer)、浮點型(float)、字符串(string)、布爾型(boolean)
複合數據類型:數組(array)、對象(object)、callable(可調用)
特殊數據類型:資源類型(resource) 和 NULL
變量相關處理函數
is_bool($var)
判斷是否爲布爾型
is_int($var)
判斷是否爲整型
is_float($var)
判斷是否爲浮點型
is_numeric($var)
判斷是否爲數值或數值字符串
is_string($var)
判斷是否爲字符串
is_array($var)
判斷是否爲數組
is_object($var)
判斷是否爲對象
is_resource($var)
判斷是否爲資源類型
is_null($var)
判斷是否爲NULL
gettype($var)
獲取變量的類型
empty($var)
判斷是否爲空
isset($var)
判斷是否存在
unset($var)
刪除變量
intval($var)
強制轉換爲整型
floatval($var)
強制轉換爲浮點型
boolval($var)
強制轉換爲布爾型
strval($var)
強制轉換爲字符串
(int)$var
強轉爲整型
(bool)$var
強轉爲布爾值
(float)$var
強轉爲浮點型
(string)$var
強轉爲字符串
(array)$var
強轉爲數組
(object)$var
強轉爲對象
(unset)$var
強轉爲NULL
print_r($var)
打印數組
var_dump($var)
打印變量詳細信息
var_export($var)
返回格式化的php代碼(不執行),例如var_export($arr)
serialize($var)
變量序列化爲字符串
unserialize($var)
反序列化
字符串相關處理函數
addslashes()
對字符串內的單雙引號,反斜槓,NULL前面加\
進行轉義
htmlspecialchars()
可轉義< > ' " &
,默認未開啓轉義單引號
strip_tags()
去除字符串中的html和php標籤
md5()
將字符串進行md5加密
sha1()
返回SHA-1散列,默認生成40字符十六進制數
uniqid(前綴,若是是true則爲23字符)
根據系統微妙數生成惟一id,可是並非很保險,推薦用下面的
md5(uniqid(mt_rand(), true))
nl2br()
將字符串中的\n
轉換爲<br>
trim()
移除兩邊空白符,能夠使用第二個參數指定移除某個字符串
ltrim()
移除左邊空白符,能夠使用第二個參數指定移除某個字符串
rtrim()
移除右邊空白符,能夠使用第二個參數指定移除某個字符串
chr()
根據ASCII碼返回對應字符
ord()
根據字符返回對應ASCII碼
count_chars($str,1)
統計字符串中每一個字符的出現的次數,返回數組
strlen()
返回字符串的長度
str_word_count()
統計字符串中的單詞數量
substr_count('hello 666 hello', 'hello')
統計字符串中子串的數量
echo
是一個語法結構
print
是一個語法結構
str_split('abcdefg')
將字符串每一個字符拆分爲索引數組,第二個參數能夠指定每一個的長度array([0] => 'a', [1]=>'b' ...)
explode(',', $str)
將字符串根據指定字符拆分爲數組
implode(',', $arr)
將數組用指定字符鏈接接爲字符串,同join
strtolower()
字符串轉爲全小寫
strtoupper()
字符串轉爲全大寫
ucfirst()
首字母大寫
lcfirst()
首字母小寫
ucwords()
每一個單詞首字母大寫
strchr('hello world hello world', 'world')
截取字符串第一次出現world到字符串結尾的部分,等同於strstr
stristr()
匹配時不區分大小寫
strrchr()
匹配最後一次到結尾
substr($str, start, length)
字符串截取
strpos('hello world', 'world')
返回world在字符串中第一次出現的位置
strrpos()
匹配最後一次出現的位置
stripos()
匹配時不區分大小寫
str_replace('word', 'world', 'hello word')
字符串替換
str_ireplace()
不區分大小寫替換
str_repeat('我6', 3)
字符串重複
str_shuffle()
隨機打亂字符串中的字符
strrev()
字符串反轉
數組相關處理函數
array_keys()
返回全部鍵名
array_values()
返回全部的值
array_column($arr, 'name')
返回數組中某一列的值,第三個參數爲指定某一列做爲鍵名
array_rand($arr, 1)
隨機返回數組中一個或多個鍵名
合併與拆分
array_merge()
將多個數組合併爲一個數組,若是是索引數組則第二個追加到第一個前面,若是是關聯數組則相同鍵名的後面覆蓋前面
array_replace()
和array_merge區別:處理索引數組時也會合並而不是追加,處理關聯數組基本同樣
array_replace_recursive($a1,$a2)
遞歸用後面數組的值替換前面數組的值
array_chunk($arr, 2)
將數組分割爲指定數目的子數組
統計
array_count_values()
統計數組中每一個值出現的次數
比較
array_diff($arr1,$arr2,$arr3)
返回多個數組的差集,只比較鍵值
array_diff_key($arr1,$arr2,$arr3)
返回多個數組的差集,只比較鍵名
array_diff_assoc($arr1,$arr2,$arr3)
返回多個數組的差集,比較鍵名和鍵值
**`array_intersect()返回多個數組的交集,只比較鍵值
array_intersect_key($arr1,$arr2,$arr3)
返回多個數組的交集,只比較鍵名
array_intersect_assoc($arr1,$arr2,$arr3)
返回多個數組的交集,比較鍵名和鍵值
操做:
array_flip()
數組鍵值對調
array_reverse()
數組數據順序顛倒
array_pop()
刪除數組最後一個元素
array_shift()
刪除數組的第一個元素
array_unshift($arr,"blue","yellow")
向數組開頭新增一個或多個元素
array_push($arr,"blue","yellow")
數組末尾追加一個或多個值,返回數組長度
array_slice($arr, start, length)
數組截取
array_sum()
數組數據求和
array_unique()
數組去重
shuffle()
打亂數組
count()
數組長度
list()
將數組中的值依次賦值給變量
range('a','z')
生成指定範圍的數組
是否存在:
array_key_exists("name",$arr)
檢查某個鍵名是否存在
in_array('fsm', $arr)
檢查某個值是否存在,第三個參數若是爲true,則同時校驗類型
搜索:
array_search("red",$arr)
根據值返回鍵名
key($arr)
獲取數組當前的鍵名
current($arr)
獲取數組當前的值
排序:
按照值:
sort()
升序
rsort()
降序
asort()
索引數組升序
arsort()
索引數組降序
按照鍵:
ksort()
按鍵升序
krsort()
按鍵降序
日期時間相關處理函數
設置時區
php.ini date.timezone = PRC
date_default_timezone_set("PRC");
// Asia/Shanghai
ini_set('date.timezone', 'Asia/Shanghai');
time()
返回當前時間戳
date('Y-m-d H:i:s')
格式化本地的時間或者日期,(y-n-j不帶前導零 w星期幾 z一年中第幾天 t月總天數 L是否閏年 a:am或pm)
getdate()
根據時間戳返回日期時間信息數組
strtotime()
將英文時間字符串解析爲時間戳(2018-11-27 11:05:23, now, +1 week 2 days 4 hours 2 seconds, next Thursday, last Monday)
mktime(hour, minute, second, month, day, year)
取得一個日期的時間戳
microtime()
返回當前時間戳和微秒數0.50091600 1543288331
gettimeofday(true)
取得當前時間戳和和前三位或四位微秒1543289052.4254
checkdate(month, day, year)
驗證日期合法性(月日年爲必填)
目錄和文件相關處理函數
getcwd()
返回當前文件所在目錄的絕對路徑
scandir()
數組形式返回目錄中的全部子目錄和子文件
basename()
返回路徑中的文件名部分
dirname()
返回路徑中的目錄部分
pathinfo()
數組形式返回文件的信息
mkdir()
建立目錄
copy(a, b)
複製文件
rename(oldname, newname)
重命名文件或文件夾
unlink()
刪除文件
rmdir()
刪除空目錄
move_uploaded_file(file,newloc)
將上傳的文件移動到新位置
file_exists()
檢查文件或目錄是否存在
file_get_contents()
將文件讀入一個字符串
file_put_contents(filename, data)
將字符串寫入一個文件
filesize()
返回文件的大小
filetype()
返回文件的類型
is_file()
判斷是否爲普通文件
is_link()
判斷是否爲連接文件
URL相關處理函數
urlencode()
url編碼
urldecode()
url解碼
base64_encode()
base64編碼
base64_decode()
base64反編碼
http_build_query($arr)
將數組編碼成url參數字符串
parse_str("name=Bill&age=60", $arr)
將url參數字符串解析保存爲數組
parse_url('http://php.net/manual/en/function.parse-url.php?name=12234456&time=baga')
將url地址信息解析爲數組,數組中的query能夠做爲parse_str的參數
數學相關處理函數
abs()
絕對值
ceil()
向上取整
floor()
向下取整
fmod()
返回除法浮點數餘數
max()
最大值
min()
最小值
pi()
圓周率
pow(x,y)
x的y次方
sqrt()
平方根
round()
四捨五入
rand(low, high)
返回隨機整數
is_nan()
判斷是否爲 非數值
魔術常量(預約義常量)
__FILE__
返回文件的完整路徑和文件名(絕對路徑),若是用在被包含的文件中,則返回被包含的文件名
__DIR__
返回文件所在目錄,等價於dirname(__FILE__)
__NAMESPACE__
返回當前命名空間
__CLASS__
返回當前類名
__METHOD__
返回當前方法名
__FUNCTION__
返回當前函數名
魔術方法
__construct()
實例化類時自動調用。
__destruct()
類對象使用結束時自動調用。
__set()
在給未定義的屬性賦值的時候調用。
__get()
調用未定義的屬性時候調用。
__isset()
使用isset()或empty()函數時候會調用。
__unset()
使用unset()時候會調用。
__clone()
當使用clone複製一個對象時候調用。
超全局變量(預約義變量)
$_SERVER
服務器和執行環境信息
$_GET
get方式傳遞的數據
$_POST
post方式傳遞的數據
$_FILES
http文件上傳信息
$_COOKIE
http cookies
$_SESSION
session變量
$_REQUEST
默認包含get post cookies
$GLOBALS
全局變量
其餘函數
function_exists()
檢查函數是否存在
class_exists()
檢查類是否存在
method_exists(obj, method_name)
檢查方法是否存在
header()
發送HTTP報頭(Location:)
define()
定義一個常量
defined()
檢查一個常量是否存在
die() exit()
輸出消息並退出腳本
sleep()
程序延遲執行若干秒
usleep()
程序延遲執行若干微秒
歡迎關注本站公眾號,獲取更多信息