PHP判断超级全局变量效率对比

SJY发表于:2018年03月08日 12:14 • 阅读:

for($i = 0; $i < 10000000; $i ++) {
        if ( $_SERVER ['QUERY_STRING'] );
}

耗时1.25~1.29

if (empty ( $_SERVER ['QUERY_STRING'] ));

耗时1.30~1.36

if ( (bool)$_SERVER ['QUERY_STRING'] );

耗时1.55~1.61

if ( strpos($_SERVER ['QUERY_STRING'], '?') );

耗时19.84~20.01

但当测试url有很多参数时,emtpy速度要快些,但!empty没有直接if(exp)快

 if (!empty($_SERVER ['QUERY_STRING']) );

耗时1.45~1.41

 if (empty($_SERVER ['QUERY_STRING']) );

耗时1.26~1.28

 if ($_SERVER ['QUERY_STRING']);

耗时1.30~1.33

总结:这里的empty我也没搞明白,反复测试,当url参数比较多时反而速度快,url没参数时,速度要慢些。不过这种超级全局变量本身就存在,一般都不要用empty去判断,直接if(exp)即可。那些未知的变量用empty会更好些。

欢迎转载,但请保留原文地址 http://www.sjyhome.com/php/1288.html

标签: PHP性能优化

回复(0)