### 字符串函数
- 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
- 备忘录
- 数据库表