### 字符串函數
- strlen($str) 獲取字符串長度
- strstr($str, 'st', true) 搜索字符串中是否包含另一個字符。第三個參數若為true 則返回字符前面的所有字符,若為false ,則返回字符后面的所有字符。沒有找到字符,則返回false.
- strpos($str, 'st') 查詢字符在字符串中出現的位置,若沒有找到,則返回false
- substr($str, 2, 4) 字符串截取,從索引為2的位置開始截取,截取長度為4的字符串
- str_replate($str, 3) 字符串重復3次
- str_replace('st', 'xx', $str) 字符串替換,將字符st 換成 xx
- str_split($str, 3) 字符串分割成數組, 數組的每個元素 包含3個字符
- explode('s', $str) 字符串分割成數組,通過字符s 進行分割
- implode($arr) 將數組的value 合并成字符串
- strtolower($str) 字符串轉小寫
- strtoupper($str) 字符串轉大寫
- ucfrist($str) 首字母轉大寫
- ucwords($str) 首單詞轉大寫
### 數組函數
- count($arr) 獲取數組的長度
- in_array($value, $arr) 判斷數組中是否包含某個元素
- array_key_exists($key, $arr) 判斷數組中是否包含某個鍵
- array_keys($arr) 返回數組鍵的新數組
- array_value($arr) 返回數組值的新數組
- array_chunk($str, 2, true) 將一維數組,按塊大小分割成二維數組。第三個參數如果true則保留原來數組種的key
```
$people = array(
'a' => 'array',
'b' => 'bold',
'c' => 'class',
'd' => 'dist',
'e' => 'eggle',
'f' => 'function',
'g' => 'globe'
);
array_chunk($people, 3, true)
結果:
$array = [
[0] => [
'a' => 'array',
'b' => 'bold',
'c' => 'class'
],
[1] => [
'd' => 'dist',
'e' => 'eggle',
'f' => 'function'
],
[2] => [
'g' => 'globe'
]
]
```
- array_column($arr, 'last_name') 返回數組中某個單一列的值
```
$arr1 = [
'a' => [
'frist_name' => 'AAA',
'last_name' => 'aaa',
],
'b' => [
'frist_name' => 'BBB',
'last_name' => 'bbb',
],
'c' => [
'frist_name' => 'CCC',
'last_name' => 'ccc'
]
];
array_column($arr1, 'last_name')
結果:
$arr = ['aaa', 'bbb', 'ccc']
```
- array_combine($arr1, $arr2) 數組的合并,組成一個新數組。 一個數組是健名,另一個數組的值為健值
- array_filter($arr, 'func_name') 利用回調函數過濾數組中的每個鍵值對,返回過濾后的新數組
- array_map('func_name', $arr) 利用回調函數處理數組中的每個鍵值對,返回處理后的新數組
- array_merge($arr1, $arr2...) 將多個數組合并,并返回合并后的數組
- array_push($arr, 'name') 向數組的最后一位插入元素
- array_pop($arr) 刪除數組的最后一位元素
- array_unshift($arr, 'name') 向數組的第一位元素
- array_shift($arr) 刪除數組中的第一個元素
### 日期/時間函數 date/time
- date('Y-m-d H:i:s') 返回當前時間
- time() 返回當前時間戳
- mktime(hour,minute,second,month,day,year) 返回時間的 時間戳。不寫參數,默認獲取當前時間戳
- strtotime($str) 獲取時間戳,參數為英文的時間字符串
### math函數
- max(); 取最大值,參數可以是數組
- min(); 取最小值,參數可以是數組
- round(); 四舍五入
- rand(min, max); 取范圍內的隨機數
- mt_rand(min, max);取范圍內的隨機數
### 文件系統函數
> 目錄操作
- opendir('d:/www/') 打開目錄,返回目錄資源
- readdir($resource) 讀取目錄資源,根據資源內的指針下移,依次返回目錄資源中的文件名或目錄名(字符串)
- closedir($resource) 關閉目錄資源
- scandir('d:/www/') 掃描指定目錄,返回數組
- mkdir('test', 0777, true) 參數2,設置目錄權限。參數3,是否支持遞歸創建
- rmdir('d:/www') 刪除目錄。目錄必須為空才能刪除
- rename(old_name, new_name) 重命名目錄 或文件
> 文件操作
- fopen($filename, $mode) 打開文件,返回文件資源
- fread($resource, $0) 讀取文件內容
- fwrite($resource, $str) 向文件中寫入內容
- fstat($resource) 獲取文件資源信息
- fcolse($resource) 關閉文件資源
- file_exists($file_name) 文件是否存在
- file_get_contents($file_name) 獲取文件內容
- file_put_contents($file_name, $str) 向文件中寫入內容
- copy($old_name, $new_name) 復制
- unlink($file_name) 刪除文件
- move_uploaded_file($temp_file, $path) 移動臨時文件的位置,從而實現上傳文件功能
### http函數
- header(); 函數向客戶段發送原始的header頭。在header()函數之前不能有任何輸出
- headers_list(); 函數返回已發送的header頭的列表
- setcookie() 函數向客戶端發送一個HTTP cookie
- session_start() 開啟session,并且會向客戶端發送一個PHPSESSIONID的cookie
### json 相關函數
- json_decode($json, true) 將json字符串轉換成對象,若要強制轉換成數組,則需要添加第二個參數為true
- json_encode($array) 將數組或對象轉換成json字符串
### mysqli 函數
### PDO 函數
### 超全局數組變量
- $_GET 存儲以get方式提交的表單數據和URL傳遞的參數。
- $_POST 存儲以post方式提交的表單數據
- $_REQUEST 存儲以get / post方式提交的表單數據
- $_FILES 存儲上傳文件的文件信息。是一個二維數組
- $_COOKIE 存儲客戶端向服務端發送的cookie 數據
- $_SESSION 存儲服務端獲取的session數據(服務端是通過客戶端的傳遞的PHPSESSIONID來獲取相應的sessions數據)
- $_ENV 存儲服務器的環境變量數據
- $_SERVER存儲系統的環境變量(保存關于報頭、路徑和腳本位置的信息)
- $GLOBALS全局作用域中的全部變量(包括上面8中超全局數組,和自定義的全局變量)
### 魔術常量
- \_\_LINE__ 獲取當前行號
- \_\_FILE__ 獲取當前文件完整路徑和文件名,若是被包含文件,則顯示被包含文件路徑
- \_\_DIR__ 獲取當前文件的絕對目錄,若是被包含文件,則顯示被包含文件
- \_\_FUNCTION__ 獲取當前函數名,若在方法外,則什么都不顯示
- \_\_CLASS__ 獲取當前類名
- \_\_TRAIT__ 獲取當前Trait名
- \_\_METHOD__ 獲取當前方法名
- \_\_NAMESPACE__ 獲取當前命名空間
### 魔術方法
- __construct()
- __destruct()
- __call()
- __callStatic()
- __get()
- __set()
- __isset()
- __unset()
- __sleep()
- __wakeup()
- __toString()
- __clone()
- __invoke()
- linux 基礎
- ln 鏈接
- linux 環境變量
- linux 進程查看
- nginx
- redis
- redis 安裝
- php 底層原理
- php源碼編譯安裝
- phpize文件
- php命令行
- php7 新特性
- php7 變量
- php7 生命周期
- php sapi運行模式
- php 內存管理
- php 運行機制和Zend虛擬機
- php垃圾回收
- php 基礎
- php.ini
- php函數
- 面向對象
- php 文件上傳
- ob緩沖和頁面靜態化
- php中的session
- php cURL擴展
- composer 應用
- php 錯誤和異常
- thinkphp
- tp6容器和依賴注入
- tp6 的服務
- tp6事件
- tp6 多應用
- tp6路由
- tp6 cache
- tp6 request
- tp6 中間件
- tp6 response
- tp6 Db
- 備忘錄
- 數據庫表