[导读]:PHP语言以其简单易学而闻名,但一些初学者经常会写出一些性能低下的PHP代码,这会严重影响整套系统的运行效率,本文我们为大家收集了一些PHP 编程技巧与优化,希望PHP初学...
                    PHP语言以其简单易学而闻名,但一些初学者经常会写出一些性能低下的PHP代码,这会严重影响整套系统的运行效率,本文我们为大家收集了一些PHP 编程技巧与优化,希望PHP初学者能认真阅读以下的编辑技巧,并养成良好的PHP编程习惯!

63条PHP编程技巧
- 1、 尽量采用大量的PHP内置函数。
 - 
2、 使用
echo代替print,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如 
echo $str1,$str2;
for循环之前确定最大循环数,不要每循环一次都计算最大值。$row['id']的效率是$row[id]的7倍。$_SERVER['REQUEST_TIME']要好于time()。str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。switch case)好于使用多个if,else if语句。for ($x=0; $x < count($array); $x)每循环一次都会调用count()函数。$this->prop++)要比递增一个局部变量慢3倍。echo 输出多个字符串时,用逗号代替句点来分隔字符串,速度更快。strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
if (strlen($foo) < 5) { echo "Foo is too short"; }
if (!isset($foo{5})) { echo "Foo is too short"; }
static,就尽量定义成static,它的速度会提升将近4倍。array_key_exists,用isset来判断键值是否在数组中存在__set,__get等魔术方法include/require代替include_once/require_once,且尽量使用绝对路径count/strlen/sizeof等放到for循环的条件语句中foreach代替for/whileecho "hi, $name, nice to meet you";
fread,读取大文件使用file_get_contents,特大的文件使用fseekip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储,可以使计算一个特定的地址是不是在一个区段内更简单,而且加快了搜索和排序的速度checkdnsrr() 函数验证域名是否存在,这个内置函数能够确认指定的域名能够解析成 IP 地址mysql_* 系列函数改用改进版的 mysqli_* 系列函数highlight_file() 来自动的打印出格式化的很漂亮的源代码error_reporting(0) 函数来防止用户看到潜在的敏感错误信息。在理想情况下,发布服务器应该在 php.ini 里完全禁止。但是如果你用的是一个共享的 web 服务器的话,你没有自己的 php、ini 文件,那么这种情况下你最好的选择就是在所有脚本的第一行前加上 error_reporting(0)
gzcompress() 和 gzuncompress() 来显式的压缩/解压字符串
magic_quotes设置为On,使用mysql_real_escape_string()函数转义
htmlentities()或 htmlspecialchars() 先进行转义$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码并指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增
Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作相关资源
- PHP 教程
 
本文来自投稿,不代表微盟圈立场,如若转载,请注明出处:https://www.vm7.com/a/ziyuan/127629.html
                