首页 > 语言 > 关键词  > php最新资讯  > 正文

php代码优化及php相关问题总结

2008-10-22 10:08 · 稿源:php118.com
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=@#https://@#.$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(" "," <ofstar:>",$filedata);
$filedb=explode("<ofstar:>",$filedata);
//array_pop($filedb);
$count=count($filedb);
if($filedb[$count-1]==@#){unset($filedb[$count-1]);}
return $filedb;
}
//这个函数虽然代码比较多,不过在速度和稳定性上优势很大!

举报

  • 相关推荐
  • 网友住酒店光脚洗澡感染HPV 医生回应:需注意防护

    ​近日,“酒店光脚洗澡可能感染HPV”这一话题在网络上迅速发酵,引发了公众对公共场所卫生安全问题的广泛关注和热烈讨论。据媒体报道以及医学专家分析,在酒店等公共浴室光脚洗澡,确实存在感染跖疣病毒的风险,而该病毒正是一种低危型HPV病毒。 跖疣,这一由人乳头瘤病毒(HPV)引发的足部良性增生物,其感染多发生在温暖潮湿的环境中。医学专家指出,当足部皮

  • 苹果iOS 18代码中发现A19/A19 Pro:iPhone 17系列全球首发

    开发者在iOS 18代码中发现了苹果A19和A19 Pro两款芯片,这两款芯片由iPhone 17系列首发搭载。 具体来说,苹果A19代号Tilos,由iPhone 17 Air首发;苹果A19 Pro代号Thera,CPID(组件识别码)为T8150,由iPhone 17 Pro和iPhone 17 Pro Max首发搭载。 据悉,苹果A19和A19 Pro都是基于台积电3n

  • 酒店光脚洗澡可能感染HPV?医生回应:需注意防护

    近日,“酒店光脚洗澡可能感染HPV”的话题引发广泛关注和热议。据媒体报道及医学专家指出,在酒店等公共场所光脚洗澡,确实存在感染跖疣病毒(一种低危型HPV病毒)的可能性,引发公众对公共场所卫生安全的担忧。 ​跖疣是由人乳头瘤病毒(HPV)引起的足部良性增生物,属于低危型HPV感染。在温暖潮湿的环境中,如酒店浴室,如果足部皮肤有微小破损或伤口,且与病毒

  • 医生回应酒店光脚洗澡或感染HPV:尽量避免在公共场所光脚

    近日,网络上关于在酒店光脚洗澡可能感染病毒的讨论持续升温。 6月30日,医生指出,光脚在酒店等公共场所洗澡确实存在感染跖疣病毒的风险。 跖疣,这一由人乳头瘤病毒引起的足部良性增生物,属于低危型HPV病毒。医生解释说,在足部环境潮湿的情况下,病毒更容易滋生和传播

  • 医生回应酒店光脚洗澡或感染HPV:尽量避免在公共场所光脚行走

    近日,酒店光脚洗澡可能感染跖疣病毒的话题引发广泛讨论。 医学专家指出,跖疣是由HPV病毒(人乳头瘤病毒)引起的足部良性增生,主要与HPV-1、2、4、27、57等亚型相关。这种疾病在潮湿环境中更易传播,足部外伤、摩擦或多汗者风险较高。 临床表现显示,跖疣会导致足跖部角质增生,可见疏松角质软芯及毛细血管出血形成的特征性黑点。多数患者行走时会出现明显疼痛�

  • 苹果明年新品规划曝光!入门级iPhone有望每年一更

    据Mark Gurman透露,苹果计划在2026年上半年推出一系列新品,包括一款新的平价iPhone、多款iPad以及升级版的Mac。 Gurman指出,苹果正努力改善过去两年需求不振的情况,加上iPad系列的产品更新步伐放缓,导致业绩表现疲软,因此2026年初的新品计划被视为延续今年秋季升级潮的重要举措。 具体到2026年的新品,新的入门款iPad及iPad Air系列预计将逐步推出,新一代产品最快将于2026�

  • iPhone 17 Pro精准机模现身:铝合金一体化机身 一眼精致

    有博主晒出了苹果iPhone 17 Pro的精准机模,相比之前爆料的机模,新机模的质感、精致度更接近真机。 如图所示,iPhone 17 Pro采用横向大矩阵设计,后置三摄位置在左侧,闪光灯和LIDAR激光雷达扫描仪位于矩阵右侧。 不止于此,iPhone 17 Pro采用一体化铝合金材质,摄像头和机身后盖采用火山口过渡设计,这个火山口跟后盖是一体化成型,必须单独铣出,工艺难度很高。

  • iPhone 17 Pro/Pro Max对比:Pro Max变得更厚 苹果最厚超大杯

    苹果会在9月推出iPhone 17系列,该系列包括iPhone 17、iPhone 17 Pro、iPhone 17 Pro Max和iPhone 17 Air。 其中iPhone 17 Pro和iPhone 17 Pro Max是苹果的高端系列,从最新爆料的消息来看,今年的Pro和Pro Max之间差距最明显的是厚度。 博主i冰宇宙爆料,iPhone 17 Pro Max的厚度为8.76mm,对比iPhone 16 Pro Max的8.25mm,前者增厚0.51mm,这是苹果史上最厚的Pro Max机型。

  • 粉色没了!曝iPhone 17/17 Air共有9款配色

    ,配件制造商正在生产适用于iPhone 17和iPhone 17 Air的摄像头保护圈,这些保护圈的颜色与手机发布时的机身配色相匹配,由此可以确定iPhone 17以及17 Air的新配色。 据爆料,iPhone 17提供黑色、白色、蓝色、绿色和紫色等配色,iPhone 17 Air提供黑色、白色、金色和蓝色等配色,两款机型配色加起来共计有9款。 作为对比,iPhone 16以及iPhone 16 Plus提供群青色、深青色、粉色、白色和黑�

  • 最薄苹果手机!iPhone 17 Air将提供4款配色

    博主Majin Bu爆料称,iPhone 17 Air将提供4种配色,分别是白色、黑色、浅金色和浅蓝色。 该博主称,浅蓝色与最新款MacBook Air的天蓝色(Sky Blue)版本相近,因此苹果可能会将天蓝色”这一名称沿用到iPhone 17 Air上。 作为iPhone 17系列新成员,iPhone 17 Air将取代Plus,该机主打超薄设计,其厚度只有5.5mm,是苹果史上最薄iPhone,重量只有146g,仅仅比iPhone 6s重了3g。 核心配置上,该机采�