优化PHP性能实用技巧

来源:互联网 发布:淘宝双11报名时间 编辑:程序博客网 时间:2024/05/21 16:58

对字符串使用单引号

PHP引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉PHP引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。最好是使用字符串连接而不是双引号字符串。

$type = 'mixed'; $output = 'This is a ' . $type .' string'; 

 

不要随便就复制变量

有时候为了使PHP代码更加整洁,一些PHP新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入512KB字节的文字到文本输入框中,这样就会导致1MB的内存被消耗!

BAD:$description = $_POST['description'];  echo $description; GOOD:   echo $_POST['description']; 


使用echo函数来输出字符串,不要在echo中使用连接符
 

很多PHP程序员(有包括我)不知道在用echo输出多个变量的时候,其实可以使用逗号来分开的,而不必用字符串先把他们先连起来。如下面的第一个例子中,由于使用了连接符就会有性能问题,因为这样就会需要PHP引擎首先把所有的变量连接起来,然后在输出,而在第二个例子中,PHP引擎就会按照循序输出他们。

 

BAD:   echo 'Hello, my name is' . $firstName . $lastName . ' and I live in ' . $city;  GOOD: echo 'Hello, my name is' , $firstName , $lastName , ' and I live in '

 

使用switch/case代替if/else

对于只有单个变量的判断,使用switch/case语句而不是if/else语句,会有更好的性能,并且代码更加容易阅读和维护.

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 园林绿化资质取消后怎么办 出租车从业资格证到期怎么办 养老金认证身份证不符怎么办 硬盘指示灯不亮怎么办 做业务产品质量很差怎么办 没有户籍证明了怎么办 回执编号忘了怎么办 泳镜里面花了怎么办 网页打印预览空白怎么办 中专毕业证掉了怎么办 会计证年检忘了怎么办 会计准考证丢了怎么办 从业资格证没带怎么办 安全证过期了怎么办 安全员证掉了怎么办 局部抗浮不满足怎么办 职称代评被骗怎么办 租到了公租房怎么办 公租房不住了怎么办 公寓不退押金怎么办 找物业租房被骗怎么办 租房子被骗了怎么办 公租房怎么办入住手续 重庆公租房摇到号怎么办 重庆公租房摇到号后怎么办 我被网上起诉怎么办 摇号摇到了不买怎么办 保障房离婚了怎么办 深圳有房子户口怎么办 北京户口没有房怎么办 选房顺序号靠后怎么办 房子拖着不开盘怎么办 楼开盘人多怎么办 低保取消廉租房怎么办 航空公司病退审核慢怎么办 江里水流大跑线怎么办 js逻辑好难怎么办 怀孕了好无聊怎么办 做表率我们怎么办心得 晚上左转逆行了怎么办 鼓浪屿船票买不到怎么办