编写更高性能的PHP代码
Jun 06, 2016 pm 07:43 PM1. 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++) { $a['b']['c'][$i] = $i; } // much faster reference based approach $ref =& $a['b']['c']; for($i = 0; $i < 5; $i++) { $ref[$i] = $i; }

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법
