php 优化

高洛峰
发布: 2016-10-20 13:54:35
原创
939 人浏览过

1 引号

关于双引号"",单引号''
如果不转义就使用单引号, 因为双引号会搜索变量, 单引号包裹的仅仅是字符串

2 数组入栈

$arr[] = 'x'; 代替 array_push($arr, 'x'), 没有函数调用的消耗

3 多分支选择

switch case代替多个if else顺便说一下, 当只有一个正确的输出, 但是中间要排除很多的错误是, 不要用多个if else, 可以这样,会是代码优雅一点

function demo(){
    if () return false;
    if () return false;
    if () return false;
    return 'x';
}
登录后复制

4 面向对象与面向过程的选择

能简化的事情, 尽量简化, 不要事事都想建一个类再来做, 类的实例化的消耗比函数调用更耗内存, 类的实例化要在是分配堆内存, 不是栈内存

5 尽量使用php自带的函数

不要想到自己实现, php自带的函数都是使用c语言来写的, 你用php写的运行效率能比c高?

6 尽量不要使用全局变量

global, 全局变量影响程序结构,

7 这是php, 不是c/c++

在c中i++只需要一条cpu指令, 所以我一直以为$i++的效率很高, 但是我看到的框架(比如tp)都没用使用$i++, 而是使用$i += 1, 才发现我太年轻了, 在php中$i++需要4条opcodes

8 内存泄漏php中一般不会内存泄漏的(运行完了就退出了, 没有常驻进程), 但我就遇到过同事写的程序, 莫名奇妙的返回空的页面, 但是看代码逻辑好像又没问题, 用xdebug调试才发现, 递归没有出口导致无限调用, 所以是程序就有可能出现内存泄漏


相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!