当前位置: 首页 > news >正文

PHP 小技巧

  • foreach 效率更高,尽量用 foreach 代替 whilefor 循环

  • 循环内部不要声明变量,尤其是对象这样的变量

  • 循环里别用函数

  • 在多重嵌套循环中,如有可能,应当将最长的循环放在内层,最短循环放在外层,从而减少 cpu 跨循环层的次数,优化程序性能

  • 用单引号替代双引号引用字符串以实现 PHP 性能优化

  • i+=1 代替 i=i+1。符合 c/c++ 的习惯,效率还高

  • 优化 Select SQL 语句,在可能的情况下尽量少的进行 InsertUpdate 操作,达到 PHP 性能优化的目的

  • 某些地方使用 isset 代替 strlen

  • 尽量的少进行文件操作,虽然 PHP 的文件操作效率也不低的

  • 尽可能的使用 PHP 内部函数

  • 在可以用 PHP 内部字符串操作函数的情况下,不要用正则表达式

  • 在可以用 file_get_contents 替代 filefopenfeoffgets 等系列方法的情况下,尽量用 file_get_contents,因为它的效率高得多。但是要注意 file_get_contents 在打开一个 URL 文件时候的 PHP 版本问题

  • 不要随便就复制变量

  • Apache 解析一个 PHP 脚本的时间要比解析一个静态 HTML 页面慢 2 至 10 倍。尽量多用静态 HTML 页面,少用脚本

  • 试着喜欢使用三元运算符(?:)

  • 使用选择分支语句,switch case 好于使用多个 ifelse if 语句,并且代码更加容易阅读和维护

  • echo 字符串时用逗号代替点连接符更快些。echo 一种可以把多个字符串当作参数的 “函数”。echo 是语言结构,不是真正的函数,故把函数加上了双引号

  • 去除 HTML 标签以及空格换行等字符 preg_replace("/(\s|\ \;| |\xc2\xa0)/", "", strip_tags($str))

  • 目录分隔符 DIRECTORY_SEPARATOR

  • 多路径分隔符 PATH_SEPARATOR

  • bool || die()

相关文章:

  • Linux系统中三类重要文件的作用与区别
  • 《剑指offer》-前n项和不准用通解和各种判断
  • 内存映射文件原理探索(转载)
  • X-Frame-Options 响应头
  • Excel 总结
  • sklearn中随机森林的参数
  • CHIL-ORACLE-修改密码
  • itunes 无法构建版本问题
  • 继续过中等难度的题目
  • Spring Boot整合WebSocket介绍
  • [技术选型] Node.js
  • Spring cloud子项目
  • oracle 11gR2 ASM添加和删除磁盘
  • x-editable java 后台怎么写
  • java----数据结构与算法----集合元素的遍历:迭代器--------JavaAPI:java.util.Iterator+java.util.ListIterator...
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • CSS居中完全指南——构建CSS居中决策树
  • emacs初体验
  • Java反射-动态类加载和重新加载
  • leetcode98. Validate Binary Search Tree
  • linux学习笔记
  • magento 货币换算
  • MySQL-事务管理(基础)
  • SQLServer之索引简介
  • Vim Clutch | 面向脚踏板编程……
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 测试如何在敏捷团队中工作?
  • 对JS继承的一点思考
  • 复习Javascript专题(四):js中的深浅拷贝
  • 给初学者:JavaScript 中数组操作注意点
  • 基于HAProxy的高性能缓存服务器nuster
  • 入门到放弃node系列之Hello Word篇
  • 系统认识JavaScript正则表达式
  • 转载:[译] 内容加速黑科技趣谈
  • 追踪解析 FutureTask 源码
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • #HarmonyOS:Web组件的使用
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1)常见O(n^2)排序算法解析
  • (二)换源+apt-get基础配置+搜狗拼音
  • (二)学习JVM —— 垃圾回收机制
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (三)elasticsearch 源码之启动流程分析
  • (算法设计与分析)第一章算法概述-习题
  • (转)3D模板阴影原理
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)nsfocus-绿盟科技笔试题目
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net Memory Profiler的使用举例
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖