38条PHP编码优化加速技巧
1. 尽量采用大量的PHP内置函数。
2. echo 比 print 快。
3. 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?
4. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。
5. 注销那些不用的变量尤其是大数组,以便释放内存。
6. 并非要用类实现所有的数据结构,数组也很有用。
7. $row['id']的效率是$row[id]的7倍。
8. 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。
9. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10. 检查是否能用strncasecmp,strpbrk,stripos函数代替正则表达式完成相同功能。
11. str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
12. 如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
13. 使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
14. 用@屏蔽错误消息的做法非常低效。
15. 打开apache的mod_deflate模块。
16. 数据库连接当使用完毕时应关掉。
18. 错误消息代价昂贵。
19. 尽量不要在for循环中使用函数,比如for ($x=0; $x prop++)要比递增一个局部变量慢3倍。
23. 递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
24. 仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。
25. 方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。
26. 派生类中的方法运行起来要快于在基类中定义的同样的方法。
27. 调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。
28. 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。当然,只有当你不需要在字符串中包含变量时才可以这么做。
29. 用echo 输出多个字符串时,用逗号代替句点来分隔字符串,速度更快。
30. Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
31. 除非
相关文档:
<?php
/**
by lenush;
*/
class Tree
{
var $data = array();
var $child = array(-1=>array());
var $layer = array(-1=>-1);
var $parent &nbs ......
如果不具备修改php.ini的权限,可以如下:
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
当然,如果能够修改php.ini的话,如下即可:
display_errors = On
error_reporting = E_ALL & ~E_NOTICE ......
header() is used to send raw HTTP headers. See the HTTP/1.1 specification for more information on HTTP headers.
使用范例
范例一:
<?PHP
Header("Location: http://www.phpchina.com";);
exit;//在每个重定向之后都必须加上“exit",避免发生错误后,继续执行。
?>
<?php
head ......
//将网址的参数转为变量,如:xxx.php?a=1&b=2,
//运行方法后,echo $a."|".$b, 结果:1|2
extract($_GET);
//unicode转utf8,如:中或 \u9865 转 成 中文
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/(?:%u.{4})|&#x.{4};|&am ......
1. 写一个函数,尽可能高效的,从一个标准 url
里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php
?id=1
需要取出 php 或 .php
2. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码
格式,以下是一个标准的 meta 语句
<META http-equiv='Content-Type
' ......