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操作
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题