PHP函数 常用内置全局函数

【数组】
array — 创建数组
array_column — 提取数组中指定列
array_combine — 用两个数组创建键值对数组
array_count_values — 统计数组值出现次数
array_diff — 数组差集(仅比较值)
array_diff_assoc — 数组差集(同时比较键+值)
array_diff_key — 数组差集(仅比较键)
array_fill — 填充指定数量元素的数组
array_filter — 使用回调函数过滤数组元素
array_flip — 数组键值互换
array_intersect — 数组交集(仅比较值)
array_intersect_assoc — 数组交集(同时比较键+值)
array_key_exists — 检查数组中是否存在指定键
array_keys — 获取数组所有键名,返回索引数组
array_map — 回调处理数组每一个元素
array_merge — 合并一个或多个数组(字符串键覆盖,数字键重排)
array_merge_recursive — 递归合并数组,字符串键不直接覆盖
array_pop — 删除数组最后一个元素,返回被删值
array_push — 在数组尾部追加一个或多个元素
array_rand — 随机获取数组的一个或多个键
array_reduce — 迭代归约数组为单个值
array_replace — 使用后面数组替换前面数组元素
array_reverse — 反转数组元素顺序
array_search — 查找值,返回对应键;找不到返回false
array_shift — 删除数组头部第一个元素
array_slice — 截取数组片段,不修改原数组
array_splice — 截取数组片段,可替换,修改原数组
array_sum — 对数组所有元素求和
array_unique — 移除数组中重复的值
array_unshift — 在数组头部插入一个或多个元素
array_values — 获取数组所有值,重置数字索引
array_walk — 遍历数组,对每个元素应用回调
arsort — 关联数组按值降序排序,保留键值映射
asort — 关联数组按值升序排序,保留键值映射
compact — 将变量打包成关联数组(变量名作为键)
count — 统计数组/对象元素个数
in_array — 判断值是否存在于数组内
krsort — 关联数组按键名降序排序
ksort — 关联数组按键名升序排序
list — 将数组的值依次赋值给一组变量
range — 生成指定范围元素的数组
reset — 将数组内部指针指向第一个元素
rsort — 索引数组按值降序排序(重建数字索引)
shuffle — 随机打乱数组元素顺序
sort — 索引数组按值升序排序(重建数字索引)
uasort — 用户自定义回调按值排序,保留键值
uksort — 用户自定义回调按键名排序
usort — 用户自定义回调按值排序,重建数字索引

【字符串】
addslashes — 在单引号、双引号、反斜杠、NULL前添加转义反斜杠
explode — 按分隔符拆分字符串,返回数组
htmlspecialchars — HTML特殊字符转义,用于防XSS
htmlspecialchars_decode — 将htmlspecialchars转义后的字符还原
implode — 将数组元素拼接为一个字符串
lcfirst — 将字符串首字母转为小写
md5 — 计算字符串md5哈希值
nl2br — 将字符串中的换行符\n/\r\n转换为<br>

number_format — 数字千分位格式化,可指定小数位数
ord — 获取字符的ASCII码值
parse_str — 解析URL查询字符串,存入变量/数组
printf — 格式化字符串并直接输出
sha1 — 计算字符串sha1哈希值
sprintf — 格式化字符串,返回结果(不直接输出)
strcasecmp — 不区分大小写比较字符串
strcmp — 区分大小写比较字符串
stripos — 不区分大小写,查找子串首次出现位置
strlen — 获取字符串字节长度
strpos — 区分大小写,查找子串首次出现位置
strrpos — 区分大小写,查找子串最后一次出现位置
strtolower — 字符串全部转小写
strtoupper — 字符串全部转大写
strtr — 字符/子串替换
substr — 截取字符串
substr_count — 统计子串出现次数
substr_replace — 字符串局部替换
trim — 去除字符串首尾空白字符(空格、制表符、换行等)
ltrim — 去除字符串左侧空白字符
rtrim — 去除字符串右侧空白字符
ucfirst — 将字符串首字母转为大写
ucwords — 将字符串每个单词首字母转为大写
wordwrap — 将字符串按指定宽度自动换行

【数学】
abs — 取绝对值
acos — 反余弦
acosh — 反双曲余弦
asin — 反正弦
asinh — 反双曲正弦
atan — 反正切
atan2 — 根据 y、x 值计算反正切
atanh — 反双曲正切
base_convert — 在任意进制之间转换数字
ceil — 向上取整
clamp — 限制数值在指定区间(PHP 8.4+)
cos — 余弦
cosh — 双曲余弦
deg2rad — 角度转为弧度
exp — 自然指数 e^x
expm1 — exp(x)-1,极小值场景高精度计算
fdiv — IEEE754 浮点数除法
floor — 向下取整
fmod — 浮点数取余数
getrandmax — 获取rand()可返回的最大随机值
hypot — 计算直角三角形斜边长,sqrt(a²+b²)
intdiv — 整数除法,返回商(舍弃小数)
is_finite — 判断浮点数是否为有限值
is_infinite — 判断浮点数是否无穷
is_nan — 判断是否为NaN(非数字)
log — 自然对数,可指定底数
log10 — 以10为底的对数
log1p — log(1+x),极小值场景高精度
log2 — 以2为底的对数
max — 获取一组值的最大值
min — 获取一组值的最小值
mt_rand — 生成随机数(旧版比rand更快)
pi — 返回圆周率π
pow — 幂运算
rad2deg — 弧度转为角度
rand — 生成伪随机整数
random_int — 加密安全随机整数
random_float — 加密安全随机浮点数
round — 四舍五入,可指定小数位数
sin — 正弦
sinh — 双曲正弦
sqrt — 计算平方根
tan — 正切
tanh — 双曲正切
bcadd — 高精度加法(BCMath)
bcsub — 高精度减法
bcmul — 高精度乘法
bcdiv — 高精度除法
bcmod — 高精度取模
bccomp — 高精度数字比较
bcpow — 高精度幂运算
bcpowmod — 高精度幂取模(密码学常用)
bcsqrt — 高精度平方根
bcceil — 高精度向上取整
bcfloor — 高精度向下取整
bcround — 高精度四舍五入
bcscale — 设置/获取BCMath默认小数精度

【文件】
basename — 获取路径中的文件名部分
copy — 复制文件
dirname — 获取路径中的目录部分
file_exists — 判断文件或目录是否存在
file_get_contents — 读取整个文件内容到字符串
file_put_contents — 将字符串写入文件
filesize — 获取文件大小(字节)
fopen — 打开文件,返回文件句柄
fclose — 关闭文件句柄
fgets — 从文件句柄逐行读取一行
fwrite — 向文件句柄写入内容
glob — 使用通配符匹配,获取文件列表数组
is_dir — 判断路径是否为目录
is_file — 判断路径是否为普通文件
is_readable — 判断文件/目录是否可读
is_writable — 判断文件/目录是否可写
mkdir — 创建目录
move_uploaded_file — 将HTTP上传文件移动到新位置
pathinfo — 获取路径信息(目录、文件名、后缀等)
readfile — 读取文件并直接输出内容
rename — 重命名文件/移动文件
rmdir — 删除空目录
unlink — 删除文件

【时间】
date — 格式化本地时间戳
getdate — 获取日期时间信息,返回关联数组
gmdate — 格式化GMT/UTC时区时间
microtime — 获取当前Unix时间戳+微秒
mktime — 根据时分秒年月日构造时间戳
strtotime — 将英文文本日期解析为Unix时间戳
time — 获取当前Unix时间戳(秒)

【类型变量】
boolval — 获取变量布尔值
empty — 判断变量是否为空
floatval — 获取变量浮点值
gettype — 获取变量类型字符串
intval — 获取变量整型值
is_array — 判断变量是否为数组
is_bool — 判断变量是否为布尔类型
is_callable — 判断变量是否可调用(函数/回调)
is_float — 判断变量是否为浮点数
is_int — 判断变量是否为整数
is_null — 判断变量是否为null
is_numeric — 判断是否为数字或数字字符串
is_object — 判断变量是否为对象
is_string — 判断变量是否为字符串
isset — 判断变量已定义且不为null
print_r — 打印变量信息,适合查看数组
serialize — 将变量序列化存储
unserialize — 反序列化还原变量
strval — 获取变量字符串形式
unset — 销毁指定变量
var_dump — 打印变量详细信息(类型+值)
var_export — 返回可直接执行PHP代码形式的变量

【系统】
assert — 断言,用于调试校验
extension_loaded — 判断PHP扩展是否已加载
getenv — 获取环境变量值
getopt — 获取命令行传入参数
phpinfo — 输出PHP环境详细信息
phpversion — 获取当前PHP版本号
putenv — 设置环境变量
set_error_handler — 注册自定义错误处理函数
set_exception_handler — 注册自定义异常处理函数
set_time_limit — 设置脚本最大执行超时时间
sleep — 脚本暂停指定秒数
usleep — 脚本暂停指定微秒数

【输出】
flush — 刷新PHP输出缓冲区
ob_clean — 清空输出缓冲区,不输出内容
ob_end_clean — 清空缓冲区并关闭缓冲
ob_end_flush — 输出缓冲区内容,然后关闭缓冲
ob_get_contents — 获取缓冲区里的内容,不清空
ob_start — 开启输出缓冲

【回调反射】
call_user_func — 调用回调函数
call_user_func_array — 调用回调,参数以数组传入
function_exists — 判断函数是否已定义
get_class — 获取对象所属类名
get_class_methods — 获取类所有公开方法
get_class_vars — 获取类所有公开属性
get_object_vars — 获取对象当前属性
is_a — 判断对象属于某个类或是其子类
is_subclass_of — 判断对象/类是否为指定类的子类
method_exists — 判断类/对象是否存在指定方法
property_exists — 判断类/对象是否存在指定属性

【URL】
parse_url — 解析URL,拆分为协议、主机、路径等组件
rawurldecode — 解码RFC标准URL编码
rawurlencode — RFC标准URL编码(空格编码为%20)
urldecode — 解码urlencode编码字符串
urlencode — URL编码(空格转为+)

【MySQLi 面向过程版(函数)】
mysqli_connect — 创建MySQL数据库连接
mysqli_close — 关闭数据库连接
mysqli_connect_errno — 获取连接失败错误编号
mysqli_connect_error — 获取连接失败错误信息
mysqli_query — 执行一条SQL语句
mysqli_fetch_assoc — 读取结果集一行,返回关联数组
mysqli_fetch_row — 读取结果集一行,返回索引数组
mysqli_fetch_array — 读取一行,返回可同时使用关联+索引的数组
mysqli_fetch_all — 获取结果集全部行,返回二维数组
mysqli_num_rows — 获取结果集总行数(SELECT)
mysqli_affected_rows — 获取增删改操作影响的数据行数
mysqli_real_escape_string — 转义SQL字符串,预防SQL注入
mysqli_prepare — 创建预处理SQL语句(预编译)
mysqli_stmt_bind_param — 绑定预处理语句参数
mysqli_stmt_execute — 执行预处理语句
mysqli_stmt_get_result — 获取预处理语句结果集
mysqli_stmt_close — 关闭预处理语句句柄
mysqli_free_result — 释放结果集占用内存
mysqli_errno — 获取SQL执行错误编号
mysqli_error — 获取SQL执行错误信息
mysqli_select_db — 切换当前连接的数据库
mysqli_set_charset — 设置连接字符集(推荐utf8mb4)
mysqli_insert_id — 获取本次连接最后插入记录的自增ID

【MySQLi 面向对象版(对象方法/属性)】
$mysqli->connect() — 建立数据库连接
$mysqli->close() — 关闭数据库连接
$mysqli->query() — 执行SQL语句
$mysqli->fetch_assoc() — 获取一行,关联数组
$mysqli->fetch_row() — 获取一行,索引数组
$mysqli->fetch_array() — 获取一行,混合数组
$mysqli->fetch_all() — 获取全部结果集
$mysqli->num_rows — 结果集总行数(只读属性)
$mysqli->affected_rows — 增删改影响行数(只读属性)
$mysqli->real_escape_string() — 字符串转义防注入
$mysqli->prepare() — 创建预处理对象
$stmt->bind_param() — 绑定预处理参数
$stmt->execute() — 执行预编译SQL
$stmt->get_result() — 获取预处理结果集
$stmt->close() — 关闭预处理句柄
$mysqli->errno — SQL错误编号(只读属性)
$mysqli->error — SQL错误信息(只读属性)
$mysqli->select_db() — 切换数据库
$mysqli->set_charset() — 设置连接字符集
$mysqli->insert_id — 最后插入自增ID(只读属性)
posted @ 2026-10-13 15:00  onestopweb  阅读(10)  评论(0)    收藏  举报