PHP中最常用的100个函数
admin 阅读:76 2024-03-01
本文分享了国外网站统计的 PHP 代码中最常用的100个函数,该排名参考了 1900 个 PHP 开源项目。
排名中的平均值是在一个项目中调用此函数的次数。比如说,5 个项目里面有 4 个用到了 count 函数,函数被调用大概 150 次。
榜单
| 排行 | 函数 | 说明 | 频率 | 平均值 |
|---|---|---|---|---|
| 1 | count | 统计数组、Countable 对象中所有元素的数量 | 81.41 % | 147.67 |
| 2 | is_array | 检测变量是否是数组 | 77.32 % | 117.86 |
| 3 | substr | 返回字符串的子串 | 74.62 % | 142.92 |
| 4 | in_array | 检查数组中是否存在某个值 | 74.16 % | 79.55 |
| 5 | explode | 使用一个字符串分割另一个字符串 | 73.19 % | 71.51 |
| 6 | str_replace | 子字符串替换 | 72.32 % | 101.05 |
| 7 | implode | 用字符串连接数组元素 | 72.27 % | 66.59 |
| 8 | strlen | 获取字符串长度 | 70.07 % | 98.32 |
| 9 | array_merge | 合并一个或多个数组 | 69.46 % | 64.01 |
| 10 | strpos | 查找字符串首次出现的位置 | 67.98 % | 78.18 |
| 11 | preg_match | 执行匹配正则表达式 | 67.31 % | 76.60 |
| 12 | sprintf | 返回格式化字符串 | 67.16 % | 119.46 |
| 13 | trim | 去除字符串首尾处的空白字符(或者其他字符) | 66.75 % | 81.28 |
| 14 | strtolower | 将字符串转化为小写 | 65.99 % | 59.62 |
| 15 | file_exists | 检查文件或目录是否存在 | 65.12 % | 45.13 |
| 16 | is_string | 检测变量是否是字符串 | 61.39 % | 45.10 |
| 17 | preg_replace | 执行一个正则表达式的搜索和替换 | 60.27 % | 54.28 |
| 18 | file_get_contents | 将整个文件读入一个字符串 | 59.96 % | 20.71 |
| 19 | array_key_exists | 检查数组里是否有指定的键名或索引 | 59.70 % | 57.50 |
| 20 | array_keys | 返回数组中部分的或所有的键名 | 59.35 % | 39.59 |
| 21 | dirname | 返回路径中的目录部分 | 56.44 % | 54.84 |
| 22 | function_exists | 检查函数是否已定义 | 53.58 % | 42.62 |
| 23 | array_map | 为数组的每个元素应用回调函数 | 53.22 % | 19.45 |
| 24 | get_class | 返回对象的类名 | 53.12 % | 33.07 |
| 25 | class_exists | 检查类是否已定义 | 52.50 % | 23.13 |
| 26 | is_object | 检测变量是否是一个对象 | 51.94 % | 35.35 |
| 27 | time | 返回当前的 Unix 时间戳 | 51.79 % | 41.42 |
| 28 | json_encode | 对变量进行 JSON 编码 | 51.48 % | 24.81 |
| 29 | date | 格式化一个本地时间/日期 | 50.72 % | 52.18 |
| 30 | is_null | 检测变量是否为 null | 49.69 % | 60.52 |
| 31 | is_numeric | 检测变量是否为数字或数字字符串 | 49.49 % | 40.69 |
| 32 | array_shift | 将数组开头的单元移出数组 | 49.49 % | 23.28 |
| 33 | defined | 检查某个名称的常量是否存在 | 48.72 % | 86.82 |
| 34 | is_dir | 判断给定文件名是否是一个目录 | 48.57 % | 22.86 |
| 35 | json_decode | 对 JSON 格式的字符串进行解码 | 48.42 % | 17.39 |
| 36 | header | 发送原生 HTTP 头 | 48.16 % | 59.71 |
| 37 | strtoupper | 将字符串转化为大写 | 47.80 % | 30.95 |
| 38 | array_values | 返回数组中所有的值 | 47.24 % | 17.27 |
| 39 | md5 | 计算字符串的 MD5 散列值 | 46.88 % | 23.74 |
| 40 | method_exists | 检查类的方法是否存在 | 46.73 % | 19.05 |
| 41 | file_put_contents | 将一个字符串写入文件 | 46.68 % | 12.49 |
| 42 | rtrim | 删除字符串末端的空白字符(或者其他字符) | 45.91 % | 18.08 |
| 43 | array_pop | 弹出数组最后一个单元(出栈) | 45.51 % | 20.60 |
| 44 | unlink | 删除文件 | 44.59 % | 23.55 |
| 45 | basename | 返回路径中的文件名部分 | 44.59 % | 27.23 |
| 46 | realpath | 返回规范化的绝对路径名 | 44.08 % | 15.90 |
| 47 | call_user_func | 把第一个参数作为回调函数调用 | 43.97 % | 16.41 |
| 48 | call_user_func_array | 调用回调函数,并把一个数组参数作为回调函数的参数 | 43.92 % | 18.40 |
| 49 | fopen | 打开文件或者 URL | 43.77 % | 25.61 |
| 50 | microtime | 返回当前 Unix 时间戳和微秒数 | 43.46 % | 14.41 |
| 51 | fclose | 关闭一个已打开的文件指针 | 42.85 % | 28.36 |
| 52 | is_int | 检测变量是否是整数 | 42.75 % | 15.78 |
| 53 | is_file | 判断给定文件名是否为一个正常的文件 | 42.08 % | 20.52 |
| 54 | array_slice | 从数组中取出一段 | 41.83 % | 13.20 |
| 55 | preg_match_all | 执行一个全局正则表达式匹配 | 40.55 % | 14.66 |
| 56 | ucfirst | 将字符串的首字母转换为大写 | 40.25 % | 17.02 |
| 57 | intval | 获取变量的整数值 | 40.19 % | 88.13 |
| 58 | str_repeat | 重复一个字符串 | 40.14 % | 19.51 |
| 59 | serialize | 产生一个可存储的值的表示 | 40.14 % | 22.05 |
| 60 | array_filter | 使用回调函数过滤数组的元素 | 39.99 % | 13.87 |
| 61 | mkdir | 新建目录 | 39.79 % | 11.17 |
| 62 | is_callable | 检测参数是否为合法的可调用结构 | 39.43 % | 11.94 |
| 63 | ltrim | 删除字符串开头的空白字符(或其他字符) | 39.17 % | 10.90 |
| 64 | ob_start | 打开输出控制缓冲 | 39.12 % | 13.26 |
| 65 | round | 对浮点数进行四舍五入 | 39.07 % | 28.56 |
| 66 | fwrite | 写入文件(可安全用于二进制文件) | 38.97 % | 23.39 |
| 67 | array_unique | 移除数组中重复的值 | 38.87 % | 15.96 |
| 68 | array_search | 在数组中搜索给定的值,如果成功则返回首个相应的 键名 | 38.82 % | 14.19 |
| 69 | reset | 将数组的内部指针指向第一个单元 | 38.71 % | 20.79 |
| 70 | array_unshift | 在数组开头插入一个或多个单元 | 38.10 % | 10.32 |
| 71 | parse_url | 解析 URL,返回其组成部分 | 37.90 % | 9.61 |
| 72 | func_get_args | 返回一个包含函数参数列表的数组 | 37.79 % | 28.33 |
| 73 | end | 将数组的内部指针指向最后一个单元 | 37.49 % | 12.70 |
| 74 | base64_encode | 使用 MIME base64 对数据进行编码 | 37.39 % | 14.15 |
| 75 | unserialize | 从已存储的表示中创建 PHP 的值 | 37.18 % | 18.35 |
| 76 | max | 找出最大值 | 36.98 % | 22.88 |
| 77 | preg_split | 通过一个正则表达式分隔字符串 | 36.98 % | 13.27 |
| 78 | gettype | 获取变量的类型 | 36.93 % | 16.16 |
| 79 | strrpos | 计算指定字符串在目标字符串中最后一次出现的位置 | 36.67 % | 11.95 |
| 80 | version_compare | 对比两个「PHP 规范化」的版本数字字符串 | 36.67 % | 14.87 |
| 81 | array_push | 将一个或多个单元压入数组的末尾(入栈) | 36.67 % | 26.18 |
| 82 | floor | 舍去法取整 | 36.11 % | 18.78 |
| 83 | strtotime | 将任何字符串的日期时间描述解析为 Unix 时间戳 | 36.01 % | 27.94 |
| 84 | htmlspecialchars | 将特殊字符转换为 HTML 实体 | 35.96 % | 51.08 |
| 85 | ini_get | 获取一个配置选项的值 | 35.85 % | 19.25 |
| 86 | ini_set | 为一个配置选项设置值 | 35.60 % | 14.49 |
| 87 | chr | 返回指定的字符 | 35.34 % | 186.97 |
| 88 | extension_loaded | 检查一个扩展是否已经加载 | 35.29 % | 14.17 |
| 89 | is_bool | 检测变量是否是布尔值 | 35.24 % | 11.44 |
| 90 | ksort | 对数组根据键名升序排序 | 34.98 % | 10.82 |
| 91 | array_reverse | 返回单元顺序相反的数组 | 34.93 % | 8.27 |
| 92 | ord | 转换字符串第一个字节为 0-255 之间的值 | 34.73 % | 53.17 |
| 93 | uniqid | 生成一个唯一ID | 34.68 % | 9.83 |
| 94 | strtr | 转换指定字符 | 34.47 % | 12.90 |
| 95 | array_diff | 计算数组的差集 | 34.32 % | 11.13 |
| 96 | error_reporting | 设置应该报告何种 PHP 错误 | 34.17 % | 8.99 |
| 97 | ceil | 进一法取整 | 33.35 % | 11.99 |
| 98 | urlencode | 编码 URL 字符串 | 33.30 % | 29.63 |
| 99 | min | 找出最小值 | 32.69 % | 18.31 |
| 100 | print_r | 以易于理解的格式打印变量。 | 32.64 % | 14.12 |
分析
- 最常用的 PHP 函数是字符串函数,然后是数组函数,接着是文件函数。 (运算函数不在此列主要是因为他们通常基于运算符)
- 每个函数的链接都指向其对应的文档,事实上许多函数经过发展以及获得了许多新特性,例如:
count()的第二个参数,dirname()的第二个参数以及preg_match()和str_replace()接受数组作为参数等。 - 以上 100 个函数没有近期要废弃的计划。
- 在非内置库中,
mbstring排名第一、curl第二,然后是gd、filter 和 iconv。 md5是最常用的加密函数,其次是Sha1,不过目前由于这两个函数依赖的算法已不足够复杂,不推荐用来对明文密码加密。print_r出现在 1/3 的项目代码里面的某处 …- 由于
dirname(dirname(dirname()))的调用,dirname 的使用频率非常高。 array、echo、print、empty、isset这些没有纳入此排名,它们的使用度肯定是非常高的。- 如下几个函数应该用运算符替代 :
array_push,is_object,func_get_arg,chr,call_user_func。 - 相当多的调用是为了知道值的类型。
- 数据库函数没有在这里排名:他们经常使用类,但功能仍然很频繁。
- PHP代码倾向于读取文件而不是写入文件。
- 使用键排序比使用值或使用键更频繁。
- 通常使用
file_get_contents读取文件, 使用fwrite写入文件。
声明
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!



