PHP-为何都喜欢用PHP内置的函数?运行效率高还是为了省事,求真实原因

PHP-为何都喜欢用PHP内置的函数?运行效率高还是为了省事,求真实原因

清晨说ぺ晚安 发布于 2017-04-18 字数 0 浏览 1093 回复 7

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

灵芸 2017-11-05 7 楼

1.内置函数在任何时候都是有的,不担心某些环境下不存在
2.内置函数使用次数最多,稳定性肯定好。

瑾兮 2017-10-08 6 楼

内置函数不一定就效率高

浮生未歇 2017-09-18 5 楼

运行效率高,你可以随便找一个函数,查一下实现它的算法,然后自己用PHP写一个同样算法的实现,做一下对比。

泛泛之交 2017-08-19 4 楼

1. Php的函数调用开销相对较大。

2. 函数相关信息保存在一个大的hash_table中,每次调用时通过函数名在hash表中查找,因此函数名长度对性能也有一定影响。

3. 函数返回引用没有实际意义

4. 内置php函数性能比用户函数高很多,尤其对于字符串类操作。

5. 类方法、普通函数、静态方法效率几乎相同,没有太大差异

6. 除去空函数调用的影响,内置函数和同样功能的C函数性能基本差不多。

7. 所有的参数传递都是采用引用计数的浅拷贝,代价很小。

8. 函数个数对性能影响几乎可以忽略

因此,对于php函数的使用,有如下一些建议

1. 一个功能可以用内置函数完成,尽量使用它而不是自己编写php函数。

2. 如果某个功能对性能要求很高,可以考虑用扩展来实现。

3. Php函数调用开销较大,因此不要过分封装。有些功能,如果需要调用的次数很多本身又只用1、2行代码就行实现的,建议就不要封装调用了。

4. 不要过分迷恋各种设计模式,如上一条描述,过分的封装会带来性能的下降。需要考虑两者的权衡。Php有自己的特点,
切不可东施效颦,过分效仿java的模式。

5. 函数不宜嵌套过深,递归使用要谨慎。

6. 伪函数性能很高,同等功能实现下优先考虑。比如用isset代替array_key_exists

7. 函数返回引用没有太大意义,也起不到实际作用,建议不予考虑。

8. 类成员方法效率不比普通函数低,因此不用担心性能损耗。建议多考虑静态方法,可读性及安全性都更好。

9. 如不是特殊需要,参数传递都建议使用传值而不是传引用。当然,如果参数是很大的数组且需要修改时可以考虑引用传递

清晨说ぺ晚安 2017-08-17 3 楼

内置函数不需要走外挂的链接库,而且是PHP开发团队用C写的。速度当然快了。

泛泛之交 2017-05-09 2 楼

1.肯定是为了省事
2.同样算法实现的函数肯定是内置效率高

偏爱自由 2017-05-03 1 楼

选择使用php还求内置函数和自己写的算法的执行时间的话,可以考虑使用C了。

php内置函数并不是绝对比自己的写的函数效率高。

涉及数组方面被封装的内置函数,就比自己写foreach循环慢。