有经验的程序员发现,PHP判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高。
即:
@H_502_4@ 代码如下:$str = ‘aaaaaa';
if(strlen($str) > 6)
VS
if(!isset($str{6})
用例子简单测试下,情况基本属实,isset()效率几乎是strlen()的3倍。
示例:
@H_502_4@ 代码如下:PHP
//使用strlen方式
$arr = "123456";
$sTime = microtime(1);
if(strlen($arr) > 6){
// echo 1;
}
echo microtime(1) - $sTime;
输出:@H_502_4@0.00035595893859863
代码如下:PHP
//使用isset($arr{})方式
$arr = "123456";
$sTime = microtime(1);
if(!isset($arr{6})){
// echo "1\r\n";
}
echo microtime(1) - $sTime;
输出:@H_502_4@0.00019097328186035
if(strlen($str) > 6)
VS
if(!isset($str{6})
@H_502_4@
代码如下:
PHP
//使用strlen方式
$arr = "123456";
$sTime = microtime(1);
if(strlen($arr) > 6){
// echo 1;
}
echo microtime(1) - $sTime;
//使用strlen方式
$arr = "123456";
$sTime = microtime(1);
if(strlen($arr) > 6){
// echo 1;
}
echo microtime(1) - $sTime;
输出:@H_502_4@0.00035595893859863
代码如下:PHP
//使用isset($arr{})方式
$arr = "123456";
$sTime = microtime(1);
if(!isset($arr{6})){
// echo "1\r\n";
}
echo microtime(1) - $sTime;
输出:@H_502_4@0.00019097328186035
//使用isset($arr{})方式
$arr = "123456";
$sTime = microtime(1);
if(!isset($arr{6})){
// echo "1\r\n";
}
echo microtime(1) - $sTime;