PHP常用的一些优化技巧
PHP常用的一些优化技巧
做为最流行的WEB语言, PHP他的突出优势就是其速度与效率。如果遇到维护原有效率不高的脚本,或者服务器负载较大,以及网络带宽不高等多种影响系统性能的瓶颈时,就需要我们对系统的内部环境经行调优。老杨ecshop二次开发
一:PHP脚本优化
我下面说的几条PHP脚本级优化,你可以在优化时用到它们,这些技巧并不能让PHP运行速度变的更快,而只能使代码稍稍优化一点儿。最重要的是让你了解PHP内在的运行原理。
例子一:
在程序中使用count($array)作为条件循环时的耗时操作。
$birds = array("鹦鹉","麻雀","孔雀","天鹅");
for($i = 0;$i<=count($birds);i++){
............
}
上面的代码每次处理都要执行一遍count()函数,计算数组的长度。
下面我们重写代码
$count = count($birds);
for($i = 0;$i<=$count;i++){
............
}
例子二:
对字符操作时,检查某个字符串是否超出长度。我们很容易的想到的是strlen()函数,但是strlen()函数在使用的时候需要经行几步的操作,如全部小写化、函数查找。
在这样的场合,我们可以使用isset()来代替,以提高代码速度。
if(strlen($var) < 5) { echo "this is test";}
重写后的代码
if(!isset($var{5})) { echo "this is test";}
调用isset()比strlen()函数要快,因为isset()是一种语法结果,而不是函数。在执行的时候不需要PHP引擎对strlen()函数进行小写换换和内部进行函数查找。
例子三:
使用递增或递减时,$i++比++$i稍慢。这点和其他的语言相比,在php中是个特例,不要在C++和java中也使用这个技巧。在php中,$i++比++$i慢的原因是$i++进行了4次计算,而++$i
进行了3次计算。$i++是先申请一个临时变量,然后增加。++$i直接使用原来变量。
例子四
字符串的输出
echo 与 print
print要比echo稍慢一些。理由很简单,不管是否需要,print都会返回一个状态标识,而echo只是简单的输出,不做任何其他的事情。
printf() 这个函数会很慢,建议万不得已的时候不要使用。printf()是在需要进行参数格式化的情况下使用的。
例子五
require 比 require_once 快
从PHP 5.2开始 require 将会比 require_once 快,因为require不会检查所包含的函数或文件是否存在。
PHP常用的一些优化技巧的更多相关文章
- 一起学Hive——总结常用的Hive优化技巧
今天总结本人在使用Hive过程中的一些优化技巧,希望给大家带来帮助.Hive优化最体现程序员的技术能力,面试官在面试时最喜欢问的就是Hive的优化技巧. 技巧1.控制reducer数量 下面的内容是我 ...
- 常用SQL语句优化技巧
除了建立索引之外,保持良好的SQL语句编写习惯将会降低SQL性能问题发生. ①通过变量的方式来设置参数 好:stringsql = "select * from people p where ...
- 常用的7个SQl优化技巧
作为程序员经常和数据库打交道的时候还是非常频繁的,掌握住一些Sql的优化技巧还是非常有必要的.下面列出一些常用的SQl优化技巧,感兴趣的朋友可以了解一下. 1.注意通配符中Like的使用 以下写法会造 ...
- 常用SEO优化技巧
SEO是指搜索引擎优化 搜索引擎优化是一种利用搜索引擎的搜索规则来提高目前网站在有关搜索引擎内的自然排名的方式.SEO的目的理解是:为网站提供生态式的自我营销解决方案,让网站在行业内占据领先地位,从而 ...
- Android群英传知识点回顾——第四章:ListView常用优化技巧
4.1 ListView常用优化技巧 4.1.1 使用ViewHolder模式提高效率 4.1.2 设置项目间分割线 4.1.3 隐藏ListView的滚动条 4.1.4 取消ListView的Ite ...
- WEB前端开发常用的优化技巧汇总
减少HTTP请求次数或者减少请求数据的大小 页面中每发送一次HTTP请求,都需要完成请求+响应这个完整的HTTP事务,会消耗一些时间,也可能会导致HTTP链接通道的堵塞,为了提高页面加载速度和运行的性 ...
- SQL语句常用优化技巧
提高SQL语句的执行效率,最常见的方法就是建立索引,以及尽量避免全表扫描. ①.避免在where子句中使用 is null 或 is not null 对字段进行判断. 如:select id fro ...
- SQL优化技巧
我们开发的大部分软件,其基本业务流程都是:采集数据→将数据存储到数据库中→根据业务需求查询相应数据→对数据进行处理→传给前台展示.对整个流程进行分析,可以发现软件大部分的操作时间消耗都花在了数据库相关 ...
- Java程序性能优化技巧
Java程序性能优化技巧 多线程.集合.网络编程.内存优化.缓冲..spring.设计模式.软件工程.编程思想 1.生成对象时,合理分配空间和大小new ArrayList(100); 2.优化for ...
随机推荐
- 【C语言】极坐标转换为直角坐标
写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y). 转换公式是x=r.cosθ y=r.sinθ 程序输出:输出转换后的坐标. 弧度和角度的换算关系如下: 1弧度=180/π度 ...
- Vue ElementUI Tree组件 回显问题(设置选择父级时会全选所有的子级,有此业务场景是不适合的)
业务场景下有这样的问题 业务需求需要保存前端 半选节点 解决方案 let checked = this.$refs.menuTree.getCheckedKeys(); //此方法获取半选节点 let ...
- Deeplearning.ai课程笔记-结构化机器学习项目
目录 一. 正交化 二. 指标 1. 单一数字评估指标 2. 优化指标.满足指标 三. 训练集.验证集.测试集 1. 数据集划分 2. 验证集.测试集分布 3. 验证集.测试集大小 四. 比较人类表现 ...
- 【代码学习】PYTHON 面向对象
一.方法重新 #!/usr/bin/python # -*- coding: UTF-8 -*- class Parent: # 定义父类 def myMethod(self): print '调用父 ...
- JQuery选择器&过滤器
JQuery对象: JQuery对象的本质上是DOM数组,它对DOM元素进行了封装 JQuery对象和JavaScript对象可以互转(\$()/$obj()[i]),但是JQuery对象和Javas ...
- 利用graphviz软件和pycallgraph库自动生成Python代码函数调用关系图
参考博文:https://blog.csdn.net/qq_36408085/article/details/82952846 https://blog.csdn.net/fondax/article ...
- 吴裕雄 python 神经网络——TensorFlow 花瓣分类与迁移学习(3)
import glob import os.path import numpy as np import tensorflow as tf from tensorflow.python.platfor ...
- WLC HA (for AP)?
在WLC的配置上,如果有AP注册到WLC,我们实际上可以看到两部分配置: part I part II 问题来了,那么这两部分是什么关系呢?是不是一样的呢? 从目前的了解来看,我的认知是这两个配置都是 ...
- 杭电2033 人见人爱A+B
人见人爱A+B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- JavaWeb项目用浏览器打开网页出现Session Error提示的解决办法
找到web.xml配置的原始配置的位置: <servlet> <servlet-name>dwr-invoker</servlet-name> <servle ...
