私人领地

php高效率写法

1..requiere_once()比较耗资源;

这是因为requiere_once需要判断该文件是否被引用过),所以能不用尽量不用。常用require/include方法避免。

2.在includes和requires中使用绝对路径。

如果包含相对路径,PHP会在include_path里面遍历查找文件。
用绝对路径就会避免此类问题,因此解析操作系统路径所需的时间会更少。

3.如果你需要得到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time();

可以想象。一个是现成就可以直接用,一个还需要函数得出的结果。

4.能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式; 因为其效率高于正则;

没得说,正则最耗性能。
有没有你漏掉的好用的函数?例如:strpbrk()strncasecmp()strpos()/strrpos()/stripos()/strripos()加速 strtr如果需要转换的全是单个字符的时候,
用字符串而不是数组来做 strtr:
<?php
$addr = strtr($addr, "abcd", "efgh"); // good
$addr = strtr($addr, array('a' => 'e', )); // bad
?>
效率提升:10 倍。

5.str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4;

另外不要做无谓的替换即使没有替换,str_replace 也会为其参数分配内存。很慢!解决办法:
用 strpos 先查找(非常快),看是否需要替换,如果需要,再替换效率:- 如果需要替换:效率几乎相等,差别在 0.1% 左右。
如果不需要替换:用 strpos 快 200%。

6.$row['id']比$row[id]速度快7倍

建议养成数组键加引号的习惯;

7.在循环里别用函数

例如For($x=0; $x < count($array); $x), count()函数在外面先计算;原因你懂的。

8.当echo字符串时用逗号代替点连接符更快些。

echo一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。

例如echo $str1,$str2。

9.不要随便就复制变量

有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗!
BAD:
$description = $_POST['description'];
echo $description;
GOOD:
echo $_POST['description'];    (建议使用这个)

10.使用选择分支语句

switch case好于使用多个if,else if语句,并且代码更加容易阅读和维护

11.在可以用file_get_contents替代file、fopen、feof、fgets

在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;

12.foreach效率更高,尽量用foreach代替while和for循环;

13.“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”;

14.数据库连接当使用完毕时应关掉,不要用长连接。

来源:http://www.cnblogs.com/glory-jzx/archive/2012/08/21/2649712.html

posted @ 2016-03-26 18:10  狂奔的蜗牛Snails  阅读(180)  评论(0编辑  收藏  举报