1、foreach效率更高
尽量用foreach代替while和for循环。循环内部不要声明变量,尤其是对象这样的变量。循环里别用函数for($x=0; $x < count($array); $x)
在多重嵌套循环中,如有可能,应当将最长的循环放在内层,最短循环放在外层,从而减少cpu跨循环层的次数,优化程序性能。//小循环
foreach (...) { //大循环 foreach (...) { //coding } }
2、用单引号替代双引号
引用字符串以实现PHP性能优化
$output = "This is a plain string"; //GOOD: $output = 'This is a plain string'; //BAD: $type = "mixed"; $output = "This is a $type string"; //GOOD: $type = 'mixed'; $output = 'This is a ' . $type .' string';
3、用i+=1代替i=i+1
符合c/c++的习惯,效率还高。优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作,达到PHP性能优化的目的。某些地方使用isset代替strlen//BAD:
if (strlen($foo) < 5) { echo “Foo is too short”; } //GOOD: if (!isset($foo{5})) { echo “Foo is too short”; }
4、尽量的少进行文件操作
虽然PHP的文件操作效率也不低的。尽可能的使用PHP内部函数。
5、在可以用PHP内部字符串操作函数的情况下,不要用正则表达式
<?php // GOOD $addr = strtr($addr, "abcd", "efgh"); // BAD $addr = strtr($addr, array('a' => 'e', )); ?>
6、用file_get_contents
在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用file_get_contents,因为它的效率高得多。但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题。
7、不要随便就复制变量
$description = $_POST['description']; echo $description; //GOOD: echo $_POST['description'];
8、试着喜欢使用三元运算符(?:)。
9、使用选择分支语句,switch case好于使用多个if,else if语句,并且代码更加容易阅读和维护。
10、当echo字符串时用逗号代替点连接符更快些
echo一种可以把多个字符串当作参数的“函数”。echo是语言结构,不是真正的函数,故把函数加上了双引号。例如echo $str1,$str2