字符串函数
strlen
获取字符串长度,字节长度
substr_count
某字符串出现的次数
strstr($str,'a')
截取字符串 $str 中的第一个字符'a'后的字符串 如 sabc -> abc
substr
字符串截取,获取字符串(按照字节进行截取)
mb_strlenmb_substr
与substr相似,从指定位置截取一直到最后
strchr
strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符
strtolower
所有的字符都小写(针对英文字母)
strtoupper
所有的字符都大写
strrev
字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转
strpos
从字符串中找对应字符出现的位置(数字下标),从最左边开始找
strrpos
与strpos一样,只是从字符串的右边开始找
trim
去掉函数两边的字符,默认是空格
ltrim
只删除字符串左侧的空格
rtrim
只删除字符串右侧的空格
str_split
函数把字符串分割到数组中。
chunk_split()
函数把字符串分割为一连串更小的部分
str_repeat("Shanghai",5)
把字符串 "Shanghai " 重复 5 次
str_replace('\\','/',dirname(__DIR__)));
替换
ucfirst
首字母大写
ucwords
每一个单词的首字母转大写
str_shuffle
随机打乱字符串顺序
数组函数
count()
非数组返回1
key
获取当前数组当前指针所指向的元素的下标
current
获取的当前指针指向元素的数值
next
获取下一个元素的值,并且将指针下移
prev
获取上一个元素的值,并且将指针上移
end
将指针移到数组的最后一个元素,并返回最终指针位置的值
reset
将指针移到数组的第一个元素,返回最终指针位置的值
array_keys
获取一个数组的所有键名,返回一个索引数组
array_slice
array_slice(‘你的数据’ , 从第几条开始取 , 取几条)
array_values
获取一个数组的所有值,返回一个索引数组
explode
爆炸,将一个字符串按照某个指定的规则(通常是特殊字符),将数组分成多个段,每一段都当做一个数组的元素,返回一个索引数组
split
类似 explode explode('.', 'abc.txt')等于split('\.','abc.txt')
implode
粘合,将一个数组内部的所有元素按照某个指定的规则(特殊字符),将所有的元素拼接成一个字符串
join()
把数组元素组合为一个字符串
array_merge
合并,指的是将两个数组中的元素进行累计。如果后面的数组与前面的数组有下标(键名:关联)相同的,那么后面的元素的值会覆盖前面的;如果是索引的相同下标,会自动的修改下标叠加到前面的数组里。
array_reverse
返回反转后的数组
array_flip
交换数组中的键和值
时间函数
strtotime
时间日期格式的字符串转换成对应的时间戳(只要是正确的英语时间表达方式,都可以进行转换)
microtime
微秒时间戳,根据不同的要求返回不同的结果 混合 microtime (布尔类型 ),可以返回一个浮点数的时间,也可以返回一个数组(时间戳和微秒数)
文件、静态资源操作函数
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下的八进制)
数学相关函数
abs
绝对值
floor
向下取整 floor(3.2) 结果等于3
ceil
向上取整
round
四舍五入
rand
取得一个指定范围内的随机整数
mt_rand
取得一个指定范围内的随机整数(效率更高)
数据结构模拟函数
array_shift
从数组的前面弹出元素,得到元素的值
array_pop
从数组的后面弹出元素,获得元素的值
array_unshift
从数组的前面压入元素,得到当前数组元素的个数
array_push
从数组的后面压入元素,得到当前数组元素的个数
排序函数
rsort()
函数用于对数组单元从高到低进行排序
asort()
函数用于对数组单元从低到高进行排序并保持索引关系
arsort()
函数用于对数组单元从高到低进行排序并保持索引关系。
ksort()
函数用于对数组单元按照键名从低到高进行排序。
krsort()
函数用于对数组单元按照键名从高到低进行排序。
报错
error_reporting(E_ALL)
ini_set('display_errors', 1)
序列化
serialize
unserialize
编码
json_encode
对变量进行 JSON 编码
json_decode
对JSON 格式的字符串进行编码
base64_encode
对变量进行 base64编码
base64_decode
对base64格式的字符串进行编码
常量
define()
定义常量,defined() 检测常量是否定义
const
关键字在类定义之外定义常量
判断变量
is_bool
判断是否是布尔类型
is_float
判断浮点型
is_integer
判断整型
is_object
判断对象
is_array
判断数组
is_string
判断字符串
is_resource
判断资源
is_scalar
scalar是标量的,判断是基本数据类型:整型,浮点型,布尔型和字符串型
is_null
检测变量是否为NULL 是返回TRUE 否则返回false。
is_numeric
判断数字或者纯数字组成的字符串
gettype
获得数据类型
settype
改变数据类型
isset
检测变量是否已设置并且非 NULL
unset()
释放给定的变量、删除一个变量
empty
检查一个变量是否为空