深入探讨如何提高PHP运行效率_PHP教程
大家都知道,提高PHP运行效率1,在函数中,传递数组时
使用 return 比使用 global 要高效
比如
- function userloginfo($usertemp){
- $detail=explode("|",$usertemp);
- return $detail;
- }
- $login=userloginfo($userdb);
比
- function userloginfo($usertemp){
- global $detail;
- $detail=explode("|",$usertemp);
- }
- userloginfo($userdb);
要高效
提高PHP运行效率2,(这个代码用于得到程序目录对应的网址,推荐使用)
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute">urlarray</span><span>=</span><span class="attribute-value">explode</span><span>('/',$HTTP_<br>SERVER_VARS['REQUEST_URI']); </span></span></li> <li> <span>$</span><span class="attribute">urlcount</span><span>=count($urlarray);unset<br>($urlarray[$urlcount-1]); </span> </li> <li class="alt"> <span>$</span><span class="attribute">ofstarurl</span><span>=</span><span class="attribute-value">'http://'</span><span>.<br>$HTTP_SERVER_VARS['HTTP_HOST'].<br>implode('/',$urlarray); </span> </li> </ol>
这段代码比
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute">pre_urlarray</span><span>=</span><span class="attribute-value">explode</span><span>('/',$HTTP_SERVER_VARS['HTTP_REFERER']); </span></span></li> <li> <span>$</span><span class="attribute">pre_url</span><span>=</span><span class="attribute-value">array_pop</span><span>($pre_urlarray); </span> </li> </ol>
要高效
提高PHP运行效率3,
在循环中判断时,数值判断使用恒等要比等于高效
<ol class="dp-xml"><li class="alt"><span><span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">2</span><span>;$</span><span class="attribute">b</span><span>=</span><span class="attribute-value">2</span><span>; </span></span></li></ol>
比如
<ol class="dp-xml"><li class="alt"><span><span>if($</span><span class="attribute">a</span><span>==$b)$</span><span class="attribute">c</span><span>=$a; </span></span></li></ol>
比
<ol class="dp-xml"><li class="alt"><span><span>if($</span><span class="attribute">a</span><span>===$b)$</span><span class="attribute">c</span><span>=$a; </span></span></li></ol>
高效
提高PHP运行效率4,
mysql 查询时尽量使用where in 少用 limit
limit查多记录的前几条, 速度很快, 但是查询最面几条就会慢
使用in .在查询连续性记录,非常快, 非连续性记录第一次运行会稍微慢一点,但是之后将比较快!
提高PHP运行效率5,
NT服务器数据操作稳定性不及unix/linux
提高PHP运行效率6,
输出前使用尽量使用 ob_start(); 可以加快输出速度,适用NT或nuli/linux,对unlix类服务器 如果使用 ob_start('ob_gzhandler');输出效率将更高
提高PHP运行效率7,
判断的时候尽量使用if($a==他的值) 否定的时候尽量使用if(empty($a)),因为这样程序运行更快速
提高PHP运行效率8,
使用不等时 != 与 效率相当
提高PHP运行效率9,
个人经验得 使用 $a="11111111111111"; 的效率和 $a='11111111111111'; 相当.并不象书本说的相差很大
提高PHP运行效率10,
使用规范的SQL语句, 会有利于MySQL的解析
提高PHP运行效率11,
使用
<ol class="dp-xml"> <li class="alt"><span><span>if($online){ </span></span></li> <li> <span>$</span><span class="attribute">online1</span><span>=$online; </span> </li> <li class="alt"><span>setcookie('online1',$online,<br>$cookietime,$ckpath,$ckdomain,$secure); </span></li> <li><span>} </span></li> </ol>
COOKIE将马上生效
使用
<ol class="dp-xml"> <li class="alt"><span><span>if($online) </span></span></li> <li><span>setcookie('online1',$online,<br>$cookietime,$ckpath,$ckdomain,$secure); </span></li> </ol>
COOKIE需要再刷新一次才能生效
提高PHP运行效率12,
使用
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute">handle</span><span>=</span><span class="attribute-value">fopen</span><span>($filename,wb); </span></span></li> <li><span>flock($handle,LOCK_SH); </span></li> <li class="alt"> <span>$</span><span class="attribute">filedata</span><span>=</span><span class="attribute-value">fread</span><span>($handle,<br>filesize($filename)); </span> </li> <li><span>fclose($handle); </span></li> </ol>
比
<ol class="dp-xml"><li class="alt"><span><span>file($filename); </span></span></li></ol>
无论在速度还是稳定上都要优秀
提高PHP运行效率13,截断字符串优化函数(可避免?字符出现)
<ol class="dp-xml"> <li class="alt"><span><span>ifunction substrs($content,$length) { </span></span></li> <li> <span>if(strlen($content)</span><span class="tag">></span><span>$length){ </span> </li> <li class="alt"> <span>$</span><span class="attribute">num</span><span>=</span><span class="attribute-value">0</span><span>; </span> </li> <li> <span>for($</span><span class="attribute">i</span><span>=</span><span class="attribute-value">0</span><span>;$i</span><span class="tag"><span>$length-3;$i++) { </span></span> </li> <li class="alt"> <span>if(ord($content[$i])</span><span class="tag">></span><span>127)$num++; </span> </li> <li><span>} </span></li> <li class="alt"> <span>$num%</span><span class="attribute">2</span><span>==1 ? $</span><span class="attribute">content</span><span>=</span><span class="attribute-value">substr</span><span>(<br>$content,0,$length-4):$</span><span class="attribute">content<br></span><span>=</span><span class="attribute-value">substr</span><span>($content,0,$length-3); </span> </li> <li> <span>$</span><span class="attribute">content.</span><span>=</span><span class="attribute-value">' ...'</span><span>; </span> </li> <li class="alt"><span>} </span></li> <li><span>return $content; </span></li> <li class="alt"><span>} </span></li> </ol>
比如
<ol class="dp-xml"><li class="alt"><span><span>$newarray[1]=substrs($newarray[1],25); </span></span></li></ol>
提高PHP运行效率14,程序中屏蔽大小写
<ol class="dp-xml"> <li class="alt"><span><span>for ($</span><span class="attribute">asc</span><span>=</span><span class="attribute-value">65</span><span>;$asc</span><span class="tag"><span>=90;$asc++) </span></span></span></li> <li><span>{ //strtolower() 此函数在一些服务<br>器会产生乱码! </span></li> <li class="alt"><span>if (strrpos($regname,chr($asc))!==false) </span></li> <li><span>{ </span></li> <li class="alt"> <span>$</span><span class="attribute">error</span><span>=</span><span class="attribute-value">"为了避免用户名混乱,用户名<br>中禁止使用大写字母,请使用小写字母"</span><span>; </span> </li> <li> <span>$</span><span class="attribute">reg_check</span><span>=</span><span class="attribute-value">0</span><span>; </span> </li> <li class="alt"><span>} </span></li> <li><span>} </span></li> </ol>
提高PHP运行效率15,不使用 file();和不使用 fget();(不稳定或速度慢) 取一数组函数
<ol class="dp-xml"> <li class="alt"><span><span>function openfile($filename,$</span><span class="attribute">method</span><span>=</span><span class="attribute-value">"rb"</span><span>) </span></span></li> <li><span>{ </span></li> <li class="alt"> <span>$</span><span class="attribute">handle</span><span>=@fopen($filename,$method); </span> </li> <li><span>@flock($handle,LOCK_SH); </span></li> <li class="alt"> <span>@$</span><span class="attribute">filedata</span><span>=</span><span class="attribute-value">fread</span><span>($handle,filesize<br>($filename)); </span> </li> <li><span>@fclose($handle); </span></li> <li class="alt"> <span>$</span><span class="attribute">filedata</span><span>=</span><span class="attribute-value">str_replace</span><span>("n","<br>n</span><span class="tag"><span class="tag-name">ofstar:</span><span class="tag">></span><span>",$filedata); </span></span> </li> <li> <span>$</span><span class="attribute">filedb</span><span>=</span><span class="attribute-value">explode</span><span>("</span><span class="tag"><span class="tag-name">ofstar:</span><span class="tag">></span><span>",$filedata); </span></span> </li> <li class="alt"><span>//array_pop($filedb); </span></li> <li> <span>$</span><span class="attribute">count</span><span class="attribute-value">count</span><span>=count($filedb); </span> </li> <li class="alt"><span>if($filedb[$count-1]==''){unset<br>($filedb[$count-1]);} </span></li> <li><span>return $filedb; </span></li> <li class="alt"><span>} </span></li> </ol>
这个函数虽然代码比较多,不过在速度和稳定性上提高PHP运行效率的优势很大!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。
