PHP经验技巧01

编码要点
引号
尽可能的使用单引号,它比双引号快,因为PHP会在双引号包围的字符串中搜索变量。
在数组中也推荐使用单引号,因为它要比双引号和不加引号快。
Echo 与 print
Echo 比 print 快,尽可能的使用单引号,如果你在echo 命令中要用到连接,那就把它优化成多个参数相连。
print函数不能处理多个参数,所以,请别尝试。
[pre]$name = 'zenk0' ;
echo 'the user ' , $name , ' has been selected for a special event.' ;
//slower and more widely used
echo 'The user ' . $name . ' has been selected for a special event.' ;

循环

不要在循环体内,而是在循环体外定义 count 变量。如果不这样,你的计数函数每次循环都会调用。

$array = array ( 'one' , 'two' , 'three' ) ;
$count = count ( $array ) ;
//slow : for($i=0; $i < count($array); $i++)
for ( $i =0 ; $i < $count ; $i ++)
{
echo array [ $i ] ;
}

简单条件 判断

如果你的条件比较简单,使用 switch 比用  if/else if/else 好多了。


Includes 和 requires

这儿有几种方法可以加速: 首先,用require_once比include_once慢多了。尽量在你的包含和引用中用全路径,这样可以省掉解析路径的开销。


有三种方式可以用;
你只要简单的设置一下include的路径。

 
// Works as of PHP 4.3.0
set_include_path ( '/inc' ) ;
 
// Works in all PHP versions
ini_set ( 'include_path' , '/inc' ) ;
 
或者新建个用于包含的路径变量,并把它放到include连接起来。

$include = '/home/user/www' ;
include ( $include . '/library/loader.php' ) ;
 

第三个例子:你也可以只获取当前文件的路径。

$dir = dirname ( __FILE__ ) ;
include ( $dir . '/library/loader.php' ) ;
 
处理字符串

尽量使用 str_ 函数代替 preg_ 函数。

要是你不用正则表达式,str_replace比preg_replace快多了。 但是strstr 比 str_replace快。

尽量用这些函数来代替preg_函数: strpos, strpbrk, strncasecmp。

如果你需要检查一个字符串的长度,巧妙的使用isset比strlen好多了。

$str = 'have a nice day' ;
//check if the string has more than 6 characters
//slow, checks if the string has less than 7 characters.
if ( strlen ( $str ) < 7 )
//fast, if there is no seventh character set
if ( !isset ( $str { 6 } ) )

这是因为,isset是一种语言结构,而strlen是一个函数。



当然有一些工具可以帮忙:用 a code profiler 。

他会告诉你脚本运行的耗时分析和哪个部分用了最多的时间。这让你很简单就能找到你代码中的瓶颈

你可能感兴趣的:(PHP,String,正则表达式,character,include,profiler)