千家信息网

PHP原生函数和自定义函数对比

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"PHP原生函数和自定义函数对比",在日常操作中,相信很多人在PHP原生函数和自定义函数对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PHP原生函数
千家信息网最后更新 2026年11月02日PHP原生函数和自定义函数对比

这篇文章主要介绍"PHP原生函数和自定义函数对比",在日常操作中,相信很多人在PHP原生函数和自定义函数对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PHP原生函数和自定义函数对比"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

今天在阅读kohana源码中的Arr类的时候发现了这样一个函数

复制代码 代码如下:


/**
* Fill an array with a range of numbers.
*
* // Fill an array with values 5, 10, 15, 20
* $values = Arr::range(5, 20);
*
* @param integer $step stepping
* @param integer $max ending number
* @return array
*/
public static function range($step = 10, $max = 100)
{
if ($step < 1)
return array();

$array = array();
for ($i = $step; $i <= $max; $i += $step)
{
$array[$i] = $i;
}

return $array;
}

看到这里的时候,我发现php的原生函数也是可以实现这个功能的,忽然想到之前听到过的一个前辈关于php性能优化的说法--PHP为我们提供了那么多的原生函数,我们尽量用原生函数解决问题。于是我就做了个测试,看看php原生函数性能究竟比自己写的快多少。要测试的函数有原生函数range()和上面的函数_range(),这里加下划线开始是因为重写原生函数range()会报错"Fatal error: Cannot redeclare range() in"。

复制代码 代码如下:


function _range($step = 10, $max = 100)
{
if ($step < 1)
return array();
$array = array();
for ($i = $step; $i <= $max; $i += $step)
{
$array[$i] = $i;
}
return $array;
}
$time['begin'] = microtime(true);
$tmp = range(0,1000000,3);
//$tmp = _range(0,1000000,3);
$time['end'] = microtime(true);
echo $time['end'] - $time['begin'].'s'."\r";
echo (memory_get_peak_usage()/1024/1024)."M";

分别用原生函数和自定义函数进行测试,在产生0~1000000之间所有的3的倍数时,结果出乎我的意料:

首先是使用原生函数的结果:

下面是使用自定义函数的结果:

为了结果比较准确,我在做个图表统计

统计次数 原生函数range() 自定义函数_range()
(0,1000000,3) 5.155E-3s 27.5530M 1.907E-5s 0.1241M
(0,1000000,2) 7.479E-3s 40.2688M 1.811E-5s 0.1241M
(0,1000,1) 8.16E-5s 0.1620M 2.649E-5s 0.1241M
从表中可以看出产生随机数时自定义函数比原生函数要节省内存和时间,而且原生函数在生成大量随机数时特别耗内存,消耗时间也特别多,而自定义函数在这方面则表现得好,产生的内存和消耗的时间基本稳定,看来前面那位前辈说的不一定完全正确哦,但是这里要注意我们这里的自定义函数只能生成数字,而原生的range还可以产生字母的,但是我想这自定义函数添加个字母应该也不会太难~

到此,关于"PHP原生函数和自定义函数对比"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

函数 代码 结果 学习 内存 时间 测试 前辈 字母 性能 时候 更多 问题 随机数 帮助 消耗 生成 统计 实用 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网科技集团 关于新基建和互联网科技 互联网科技公司发展 美国互联网科技 互联网与新科技 上游互联网科技 互联网科技美容 互联网科技有限公司 翻译 深圳市运趣互联网科技有限公司 互联网教育科技公司vipkid 武汉健翔互联网络科技有限公司 岳阳华臻互联网科技有限公司 合肥互联网科技公司公章图片 下一代互联网重大应用科技园 西安有哪些互联网高科技企业 互联网高科技行业有哪些企业 互联网科技品牌 北京品多多互联网科技有限公司 10位科技互联网大佬 知域互联网科技有限公司官网 广州大一互联网络科技有限公司 互联网科技公司发展 互联网 科技馆 湖南诚度互联网科技有限公司 互联网为啥属于高科技 开一家科技互联网公司需要多少钱 美国五大互联网科技公司市值多少 互联网科技大会大佬 宁波允成互联网科技有限公司 科技发展第三阶段互联网时代
0