php 运行效率总结(提示程序速度)


Posted in PHP onNovember 26, 2009

1,在函数中,传递数组时
使用 return 比使用 global 要高效
比如

function userloginfo($usertemp){
$detail=explode("|",$usertemp);
return $detail;
}
$login=userloginfo($userdb);

function userloginfo($usertemp){
global $detail;
$detail=explode("|",$usertemp);
}
userloginfo($userdb);

要高效
2,(这个代码用于得到程序目录对应的网址,推荐使用)
$urlarray=explode('/',$HTTP_SERVER_VARS['REQUEST_URI']);
$urlcount=count($urlarray);unset($urlarray[$urlcount-1]);
$ofstarurl='http://'.$HTTP_SERVER_VARS['HTTP_HOST'].implode('/',$urlarray);
这段代码比
$pre_urlarray=explode('/',$HTTP_SERVER_VARS['HTTP_REFERER']);
$pre_url=array_pop($pre_urlarray);
要高效
3,在循环中判断时,数值判断使用恒等要比等于高效
$a=2;$b=2;
比如
if($a==$b)$c=$a;

if($a===$b)$c=$a;
高效
4,mysql 查询时尽量使用where in 少用 limit
limit查多记录的前几条, 速度很快, 但是查询最面几条就会慢
使用in .在查询连续性记录,非常快, 非连续性记录第一次运行会稍微慢一点,但是之后将比较快!
5,NT服务器数据操作稳定性不及unix/linux
6,输出前使用尽量使用 ob_start(); 可以加快输出速度,适用NT或nuli/linux,对unlix类服务器 如果使用 ob_start('ob_gzhandler');输出效率将更高
7,判断的时候尽量使用if($a==他的值) 否定的时候尽量使用if(empty($a)),因为这样程序运行更快速
8,使用不等时 != 与 <> 效率相当
9,个人经验得 使用 $a="11111111111111"; 的效率和 $a='11111111111111'; 相当.并不象书本说的相差很大
10,使用规范的SQL语句, 会有利于MySQL的解析
11,使用
if($online){
$online1=$online;
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
}

COOKIE将马上生效
使用
if($online)
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);

COOKIE需要再刷新一次才能生效
12,使用
$handle=fopen($filename,wb);
flock($handle,LOCK_SH);
$filedata=fread($handle,filesize($filename));
fclose($handle);

file($filename);
无论在速度还是稳定上都要优秀
13,截断字符串优化函数(可避免?字符出现)
function substrs($content,$length) {
if(strlen($content)>$length){
$num=0;
for($i=0;$i<$length-3;$i++) {
if(ord($content[$i])>127)$num++;
}
$num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
$content.=' ...';
}
return $content;
}

比如$newarray[1]=substrs($newarray[1],25);
14,程序中屏蔽大小写
for ($asc=65;$asc<=90;$asc++)
{ //strtolower() 此函数在一些服务器会产生乱码!
if (strrpos($regname,chr($asc))!==false)
{
$error="为了避免用户名混乱,用户名中禁止使用大写字母,请使用小写字母";
$reg_check=0;
}
}

15,不使用 file();和不使用 fget();(不稳定或速度慢) 取一数组函数
function openfile($filename,$method="rb")
{
$handle=@fopen($filename,$method);
@flock($handle,LOCK_SH);
@$filedata=fread($handle,filesize($filename));
@fclose($handle);
$filedata=str_replace("\n","\n<ofstar:>",$filedata);
$filedb=explode("<ofstar:>",$filedata);
//array_pop($filedb);
$count=count($filedb);
if($filedb[$count-1]==''){unset($filedb[$count-1]);}
return $filedb;
}
//这个函数虽然代码比较多,不过在速度和稳定性上优势很大!

PHP 相关文章推荐
php上传apk后自动提取apk包信息的使用(示例下载)
Apr 26 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
js代码实现微博导航栏
Jul 30 PHP
php简单实现sql防注入的方法
Apr 22 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
php微信开发之谷歌测距
Jun 14 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
php伪静态验证码不显示的解决方案
Sep 26 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 #PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 #PHP
php Memcache 中实现消息队列
Nov 24 #PHP
phplock(php进程锁) v1.0 beta1
Nov 24 #PHP
PHP 进程锁定问题分析研究
Nov 24 #PHP
PHP 递归效率分析
Nov 24 #PHP
PHP 单引号与双引号的区别
Nov 24 #PHP
You might like
使用php清除bom示例
2014/03/03 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
javascript中的new使用
2010/03/20 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
JS实现密码框效果
2020/09/10 Javascript
python使用递归解决全排列数字示例
2014/02/11 Python
python中实现定制类的特殊方法总结
2014/09/28 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
Python中断多重循环的思路总结
2019/10/04 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python3开发环境搭建详细教程
2020/06/18 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
华为慧通笔试题
2016/04/22 面试题
写出二分查找算法的两种实现
2013/05/13 面试题
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
土木工程应届生自荐信
2013/09/24 职场文书
交通法规咨询中心工作职责
2013/11/27 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
承诺书范文
2014/06/03 职场文书
绘画专业自荐信
2014/07/04 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
专家推荐信怎么写
2015/03/25 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
古诗之感恩老师
2019/10/24 职场文书