PHP高效率写法(详解原因) 1.尽量静态化: 2.echo的效率高于print,因为echo没有返回值,print返回一个整型; 3.在循环之前设置循环的最大次数,而非在在循环中; 4.销毁变量去释放内存,特别是大的数组; 5.避免使用像__get, __set, __autoload等魔术方法; 6.requiere_once()比较耗资源; 7.在includes和requires中使用绝对路径。 8.如果你需要得到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time(); 9.能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式; 因为其效率高于正则; 10.str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4; 11.参数为字符串 12.最好不用@,用@掩盖错误会降低脚本运行速度; 13.$row['id']比$row[id]速度快7倍 14.在循环里别用函数 16.在类的方法里建立局部变量速度最快,几乎和在方法里调用局部变量一样快; 17.建立一个全局变量要比局部变量要慢2倍; 18.建立一个对象属性(类里面的变量)例如($this->prop++)比局部变量要慢3倍; 19.建立一个未声明的局部变量要比一个已经定义过的局部变量慢9-10倍 20.声明一个未被任何一个函数使用过的全局变量也会使性能降低(和声明相同数量的局部变量一样)。 21.方法的性能和在一个类里面定义的方法的数目没有关系 22.在子类里方法的性能优于在基类中; 23.只调用一个参数并且函数体为空的函数运行花费的时间等于7-8次$localvar++运算,而一个类似的方法(类里的函数)运行等于大约15次$localvar++运算; 24 用单引号代替双引号来包含字符串,这样做会更快一些。 25.当echo字符串时用逗号代替点连接符更快些。 26.Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。 28.尽量使用缓存,建议用memcached。 29.使用ip2long()和long2ip()函数把IP地址转成整型存放进数据库而非字符型。 30.使用checkdnsrr()通过域名存在性来确认部分email地址的有效性 31.使用mysql_*的改良函数mysqli_*; 32.试着喜欢使用三元运算符(?:); 33.是否需要PEAR 35.使用error_reporting(0)函数来预防潜在的敏感信息显示给用户。 36.使用 gzcompress() 和gzuncompress()对容量大的字符串进行压缩(解压)在存进(取出)数据库时。 37.通过参数变量地址得引用来使一个函数有多个返回值。 38. 完全理解魔术引用和SQL注入的危险。 39.某些地方使用isset代替strlen 40.使用++$i递增 40. 不要随便就复制变量 41 使用选择分支语句 42.在可以用file_get_contents替代file、fopen、feof、fgets 43.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的; 44.优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过); 45.尽可能的使用PHP内部函数 46.循环内部不要声明变量,尤其是大变量:对象 47.多维数组尽量不要循环嵌套赋值; 48.foreach效率更高,尽量用foreach代替while和for循环; 49.“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”; 50.对global变量,应该用完就unset()掉; 51 并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。 52 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码? 53 如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。 54、打开apache的mod_deflate模块,可以提高网页的浏览速度。 55、数据库连接当使用完毕时应关掉,不要用长连接。 56、split比exploade快
php 高效率 (转)
转自:http://my.oschina.net/pandao/blog/126991
PHP高效率写法(详解原因) 1.尽量静态化: 2.echo的效率高于print,因为echo没有返回值,print返回一个整型; 3.在循环之前设置循环的最大次数,而非在在循环中; 4.销毁变量去释放内存,特别是大的数组; 5.避免使用像__get, __set, __autoload等魔术方法; 6.requiere_once()比较耗资源; 7.在includes和requires中使用绝对路径。 8.如果你需要得到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time(); 9.能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式; 因为其效率高于正则; 10.str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4; 11.参数为字符串 12.最好不用@,用@掩盖错误会降低脚本运行速度; 13.$row['id']比$row[id]速度快7倍 14.在循环里别用函数 16.在类的方法里建立局部变量速度最快,几乎和在方法里调用局部变量一样快; 17.建立一个全局变量要比局部变量要慢2倍; 18.建立一个对象属性(类里面的变量)例如($this->prop++)比局部变量要慢3倍; 19.建立一个未声明的局部变量要比一个已经定义过的局部变量慢9-10倍 20.声明一个未被任何一个函数使用过的全局变量也会使性能降低(和声明相同数量的局部变量一样)。 21.方法的性能和在一个类里面定义的方法的数目没有关系 22.在子类里方法的性能优于在基类中; 23.只调用一个参数并且函数体为空的函数运行花费的时间等于7-8次$localvar++运算,而一个类似的方法(类里的函数)运行等于大约15次$localvar++运算; 24 用单引号代替双引号来包含字符串,这样做会更快一些。 25.当echo字符串时用逗号代替点连接符更快些。 26.Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。 28.尽量使用缓存,建议用memcached。 29.使用ip2long()和long2ip()函数把IP地址转成整型存放进数据库而非字符型。 30.使用checkdnsrr()通过域名存在性来确认部分email地址的有效性 31.使用mysql_*的改良函数mysqli_*; 32.试着喜欢使用三元运算符(?:); 33.是否需要PEAR 35.使用error_reporting(0)函数来预防潜在的敏感信息显示给用户。 36.使用 gzcompress() 和gzuncompress()对容量大的字符串进行压缩(解压)在存进(取出)数据库时。 37.通过参数变量地址得引用来使一个函数有多个返回值。 38. 完全理解魔术引用和SQL注入的危险。 39.某些地方使用isset代替strlen 40.使用++$i递增 40. 不要随便就复制变量 41 使用选择分支语句 42.在可以用file_get_contents替代file、fopen、feof、fgets 43.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的; 44.优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过); 45.尽可能的使用PHP内部函数 46.循环内部不要声明变量,尤其是大变量:对象 47.多维数组尽量不要循环嵌套赋值; 48.foreach效率更高,尽量用foreach代替while和for循环; 49.“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”; 50.对global变量,应该用完就unset()掉; 51 并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。 52 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码? 53 如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。 54、打开apache的mod_deflate模块,可以提高网页的浏览速度。 55、数据库连接当使用完毕时应关掉,不要用长连接。 56、split比exploade快
PHP高效率写法(详解原因) 1.尽量静态化: 2.echo的效率高于print,因为echo没有返回值,print返回一个整型; 3.在循环之前设置循环的最大次数,而非在在循环中; 4.销毁变量去释放内存,特别是大的数组; 5.避免使用像__get, __set, __autoload等魔术方法; 6.requiere_once()比较耗资源; 7.在includes和requires中使用绝对路径。 8.如果你需要得到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time(); 9.能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式; 因为其效率高于正则; 10.str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4; 11.参数为字符串 12.最好不用@,用@掩盖错误会降低脚本运行速度; 13.$row['id']比$row[id]速度快7倍 14.在循环里别用函数 16.在类的方法里建立局部变量速度最快,几乎和在方法里调用局部变量一样快; 17.建立一个全局变量要比局部变量要慢2倍; 18.建立一个对象属性(类里面的变量)例如($this->prop++)比局部变量要慢3倍; 19.建立一个未声明的局部变量要比一个已经定义过的局部变量慢9-10倍 20.声明一个未被任何一个函数使用过的全局变量也会使性能降低(和声明相同数量的局部变量一样)。 21.方法的性能和在一个类里面定义的方法的数目没有关系 22.在子类里方法的性能优于在基类中; 23.只调用一个参数并且函数体为空的函数运行花费的时间等于7-8次$localvar++运算,而一个类似的方法(类里的函数)运行等于大约15次$localvar++运算; 24 用单引号代替双引号来包含字符串,这样做会更快一些。 25.当echo字符串时用逗号代替点连接符更快些。 26.Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。 28.尽量使用缓存,建议用memcached。 29.使用ip2long()和long2ip()函数把IP地址转成整型存放进数据库而非字符型。 30.使用checkdnsrr()通过域名存在性来确认部分email地址的有效性 31.使用mysql_*的改良函数mysqli_*; 32.试着喜欢使用三元运算符(?:); 33.是否需要PEAR 35.使用error_reporting(0)函数来预防潜在的敏感信息显示给用户。 36.使用 gzcompress() 和gzuncompress()对容量大的字符串进行压缩(解压)在存进(取出)数据库时。 37.通过参数变量地址得引用来使一个函数有多个返回值。 38. 完全理解魔术引用和SQL注入的危险。 39.某些地方使用isset代替strlen 40.使用++$i递增 40. 不要随便就复制变量 41 使用选择分支语句 42.在可以用file_get_contents替代file、fopen、feof、fgets 43.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的; 44.优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过); 45.尽可能的使用PHP内部函数 46.循环内部不要声明变量,尤其是大变量:对象 47.多维数组尽量不要循环嵌套赋值; 48.foreach效率更高,尽量用foreach代替while和for循环; 49.“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”; 50.对global变量,应该用完就unset()掉; 51 并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。 52 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码? 53 如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。 54、打开apache的mod_deflate模块,可以提高网页的浏览速度。 55、数据库连接当使用完毕时应关掉,不要用长连接。 56、split比exploade快
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.