> php教程 > php手册 > 编写更高性能的PHP代码

编写更高性能的PHP代码

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-06 19:43:51
원래의
1077명이 탐색했습니다.

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

1. PHP4.2版本以后,使用mt_rand() 代替rand()函数
2.使用echo代替print
3. for结构可以这样写
for ($i=0, $j = count($citys); $i 4.挂起进程的三个函时顺函数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&#43;&#43;) {
     $a['b']['c'][$i] = $i;
}
// much faster reference based approach
$ref =& $a['b']['c'];
for($i = 0; $i < 5; $i&#43;&#43;) {
    $ref[$i] = $i;
}
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿