当前位置:首页 > PHP > 正文内容

PHP优化,PHP性能优化

高老师9年前 (2017-06-17)PHP1872

常见的PHP优化方法,让PHP效率更高,抽空更新(很多都是学习网络上的方法,想深度理解建议学C语言。):

  1. 字符串的输出最好使用单引号,不要使用双银行,否则PHP会去找是否存在变量需要解析

  2. 大数组,对象,资源句柄使用完及时进行unset()

  3. 能用系统函数解决的问题尽量不要使用正则表达式,虽然正则表达式逼格高,但是牺牲的是匹配的性能

  4. 数组下标$allres['id']的速度比$allres[id]快很多,网上说是7倍,但是我不知道是为什么7倍

  5. 对象中的方法能使用static最佳,例如我们在编写工具类的时候,无需实例化即可调用

  6. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用 $_SERVER['REQUEST_TIME'] 要好于 time(),我分析的是因为作为超全局变量已经存在信息,我们何必再调用time()

  7. switch case好于使用多个 if,else if 语句,我们无法说明是效率高,但是我比较喜欢的是这种语法,结构清晰,网上也是比较推荐

  8. 用 file_get_contents 替代 file、fopen、feof、fgets 等系列方法,例如微信支付中使用该函数来读取证书内容

  9. $a=$b=1远比$a=1;$b=1高效

  10. PHP在编写mysql语句一定要把关键字大写,例如SELECT   FROM   GROUP  BY等,因为你不大写,程序最终还是转大写,你大写了程序就不用转直接执行,取经自李炎恢老师。

  11. 使用include或者require引入文件请尽量使用硬路径(即绝对地址),避免PHP引擎查找文件影响速度,学习自李炎恢视频。

  12. 数组使用[]创建更节省内存,避免array()函数的消耗

  13. 对 global 变量,应该用完就 unset()掉;

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/10.html

分享给朋友:

“PHP优化,PHP性能优化” 的相关文章

php创建webservice,php搭建webservice,php编写webservice

php创建webservice,php搭建webservice,php编写webservice

第一步:服务端文件<?php $wsdlfile='webservice.wsdl'; ini_set('soap.wsdl_cache_enabled','0');    //关闭WSDL缓存 //001...

php异步信号处理

php异步信号处理

php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){  //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...

posix_ttyname函数详解

posix_ttyname函数详解

posix_ttyname - 获取当前终端设备名称。<?php     var_dump( posix_ttyname(STDOUT) );我们启动一个终端,执行上面的代码输出:/dev/tty1我们再启动一个终端,执行上面的代码输...

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

经常我们下载国外资源容易被墙,可以通过php脚本获取远程文件流然后输出给我们的浏览器来下载。<?php //设置下载文件的url $url = 'https://mirrors.huaweicloud.com/ubuntukylin/ubuntukylin-19....

tp orm事务提交未执行的教训和总结

tp orm事务提交未执行的教训和总结

最近在项目中处理一个关于商品数据重复需要删除多余的商品记录,但是删除一条商品必然要把关联的其他表商品的id和其他商品信息更换为正确的,删除一个商品记录,同时要去修改100多张表的关联商品数据,在项目中引用了tp orm 1.2版本,由于项目是php5.6版本,没法使用最新orm,在代码中每处理1个商...

php爬虫执行js,php执行js

php爬虫执行js,php执行js

当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。第一种:使用phpv8js扩展执行js代码。(pecl...