最新消息:网站改版咯

php优化代码性能

php Yovae 1188浏览

拥有良好的编码风格不但可以让你的代码更具可读性而且可以优化php代码的性能,这边提一下怎么优化php代码的性能:

(1)使用 static 静态方法比普通方法快4倍
(2)echo输出快于print
(3)连接字符使用 , 代替 .
(4)循环之前先取出最大值,而不是在循环里面取值
正确的方法
$max = count($array);
for ($i=0;$i<$max;$i++) {
echo $i;
}
错误的方法
for ($i=0;$i<count($array);$i++) {
echo $i;
}
(5)使用unset释放给定的变量
(6)includes 和requires 包含文件使用完整路径
(7)使用strncasecmp, strpbrk 和 stripos 代替  regex
(8)使用switch代替if else语句
(9)抑制错误符@性能很低
(10)任何时间记住关闭不需要的数据库连接
(11)$row[‘id’] 比 $row[id] 性能快7倍
(12)增加一个全局变量比增加一个局部变量慢2倍
(13)使用单引号而不是双引号引用字符
(14)使用HTML比PHP脚本快2-20倍
(15)使用PHP缓存可加速性能25%-100%
(16)$++比++$i慢
(17)不要过度使用OOP,适度而止
(18)尽量使用PHP内置函数

通过以上的几点可以发现这些基本上都可上升为一种代码的开发习惯,其实性能优化是在编码过程中积累出来的,养成良好的编码习惯对一个程序员来说至关重要。

经过一些网友的测试,上面建议有一点经过实际测试是错误的(1)使用 static 静态方法比普通方法快4倍。

<?php
class A
{
    static function adds()
    {
        return 1;
    }
    function add()
    {
        return 1;
    }
}
$time = null;
$test_num = 10000;
function test_start()
{
    global $time;
    $time =  microtime(true);
}
function test_end()
{
    global $time;
    $dt = microtime(true) - $time;
    return round($dt, 4);
}
$a = new A();
test_start();
for ($i = 0; $i < $test_num; $i++)
{
    $a->add();
}
$dt = test_end();
echo "no static cost $dt \n";
test_start();
for ($i = 0; $i < $test_num; $i++)
{
    A::adds();
}
$dt = test_end();
echo "static cost $dt \n";
?>

 

 
(11)$row[‘id’] 比 $row[id] 性能快7倍也是不靠谱的。大家可以实际测试一下,对于文中出现的错误请给予纠正,互相交流学习。

转载请注明:Yovae Studio » php优化代码性能