1、执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。 2、对global变量,应该用完就unset()掉。 3、调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。 4、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。 5、尽量采用大量的PHP内置函数。 6、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。 7、动辄创建全局数值是一种糟糕的做法,不过有时候实际情况的确又需要这么做。对于数据库表或数据库连接信息使用全局数值是一个不错的想法,但不要在你的PHP代码中频繁使用全局数值。另外,更好的一种做法是把你的全局变量存放在一个config.php文件中。 8、使用选择分支语句(switch case)好于使用多个if,else if语句 9、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。 10、函数代替正则表达式完成相同功能。 11、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 12、$row[’id’] 的速度是$row[id]的7倍。 13、include文件时尽量使用绝对路径,因为它避免了php去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。 14、数据库连接当使用完毕时应关掉,不要用长连接。 15、apache解析一个php脚本的时间要比解析一个静态html页面慢2至10倍。尽量多用静态html页面,少用脚本。 16、当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是php特有的,并不适用于其他语言。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。 17、并不是事必面向对象(oop),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。 18、“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”; 19、打开apache的mod_deflate模块,可以提高网页的浏览速度。 20、str_replace 函数比preg_replace 函数快,但 strtr 函数的效率是 str_replace 函数的四倍。 21、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数 22、在可以用 file_get_contents 替代 file、fopen、feof、fgets 等系列方法的情况下,尽量用file_get_contents,因为他的效率高得多!但是要注意 file_get_contents 在打开一个 URL 文件时候的PHP 版本问题 23、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作。