PHP 编写更高性能的PHP代码

本文介绍了一系列PHP编程优化建议,包括使用mt_rand()替代rand()、echo替代print、改进for循环结构、合理使用挂起进程函数等。此外还讨论了如何更高效地包含文件、字符串处理操作、数组访问方式及减少错误抑制符的使用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1. PHP4.2版本以后,使用mt_rand() 代替rand()函数
2.使用echo代替print
3. for结构可以这样写
for ($i=0, $j = count($citys); $i < $j ; $i++)
4.挂起进程的三个函时顺函数time_nanosleep,  usleep, sleep.
5.include, include_one, require, require_once包含文件的时候,尽量使用绝对路径。比如

define('DOCUMNET_ROOT', dirname(__FILE__));
require DOCUMENT_ROOT . '/common.inc';

6.尽量避免使用str_replace(),尤其是preg_replace()
6.1, stripos(‘http://’, $website)比preg_match(‘/http://///i’, $website)快.
6.2, ctype_alnum()比preg_match(‘/^/s*$/’);快
6.3, if ($test == (int)$test)比preg_match(‘/^/d*$/)快
6.4, if (!strncasecmp(“foo_”, “FoO_”, 4))比if (preg_match(“!^foo_!i”, “FoO_”))快
6.5, if (strpbrk(“a8f9″, “sometext”))比if (preg_match(“![a8f9]!”, “sometext”))快.

7.不要使用$row[id],应该使用$row['id']
8.尽量少用错误抑制符(@)。除非特别情况,比如:

$success = db_query("INSERT INTO users (uid, name) VALUES (2, 't')");
if (!$success) {
   db_query("UPDATE users SET name = 't' WHERE uid = 2");
}

9.不要泛滥地使用global 变量,尤其要避免使用global 变量来替代local变量使用
10. is_file()的效率比file_exists()更高
11.通过&引用访问多维数组

<?php
$a['b']['c'] = array();
// slow 2 extra hash lookups per access
for($i = 0; $i < 5; $i++) {
     $a['b']['c'][$i] = $i;
}
// much faster reference based approach
$ref =& $a['b']['c'];
for($i = 0; $i < 5; $i++) {
    $ref[$i] = $i;
}
?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值