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()   建立數組


  • 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()   程序延遲執行若干微秒

相關文章
相關標籤/搜索