常见的PHP优化方法,让PHP效率更高,抽空更新(很多都是学习网络上的方法,想深度理解建议学C语言。):
字符串的输出最好使用单引号,不要使用双银行,否则PHP会去找是否存在变量需要解析
大数组,对象,资源句柄使用完及时进行unset()
能用系统函数解决的问题尽量不要使用正则表达式,虽然正则表达式逼格高,但是牺牲的是匹配的性能
数组下标$allres['id']的速度比$allres[id]快很多,网上说是7倍,但是我不知道是为什么7倍
对象中的方法能使用static最佳,例如我们在编写工具类的时候,无需实例化即可调用
如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用 $_SERVER['REQUEST_TIME'] 要好于 time(),我分析的是因为作为超全局变量已经存在信息,我们何必再调用time()
switch case好于使用多个 if,else if 语句,我们无法说明是效率高,但是我比较喜欢的是这种语法,结构清晰,网上也是比较推荐
用 file_get_contents 替代 file、fopen、feof、fgets 等系列方法,例如微信支付中使用该函数来读取证书内容
$a=$b=1远比$a=1;$b=1高效
PHP在编写mysql语句一定要把关键字大写,例如SELECT FROM GROUP BY等,因为你不大写,程序最终还是转大写,你大写了程序就不用转直接执行,取经自李炎恢老师。
使用include或者require引入文件请尽量使用硬路径(即绝对地址),避免PHP引擎查找文件影响速度,学习自李炎恢视频。
数组使用[]创建更节省内存,避免array()函数的消耗
对 global 变量,应该用完就 unset()掉;
通过经纬度转换为城市名称,并获得城市的编号,通常在全国类型的商城中比较通用。//经纬度转城市名称(返回城市id,城市名称) //$ak开发密钥,$lat纬度,$lng经度,$type返回数据类型 public function getCityName($ak,$lat,$lng)...
先在centos安装openssl,然后开始://生成私钥openssl genrsa -out rsa_private_key.pem 1024//生成公钥openssl rsa -in rsa_private_key.pem&...
源码:特别适用于微信支付中通知微信支付网关function array2xml($arr, $level = 1) { $s = $level == 1 ? "<xml&g...
上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
当我想在一个进程中监听kill 和 kill -9命令报了这个错误。//监听kill pcntl_signal(SIGTERM, function () { posix_kill(0, SIGTERM); });...
断点下载的原理:http请求头添加Range参数告诉文件服务器端需要的字节范围例如1个文本文件的字节为1000,第一次请求Range: bytes=0-500第二次请求Range: bytes=501-1000通过每次的请求将返回的流追加写入到文件。注意的项目:断点下载服务器端的每次只返回字节传输的...