欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php代码执行效率

程序员文章站 2022-03-06 15:48:15
...

这里说一些代码的执行情况,虽然php执行起来很快,但是蚊子虽小,总还是肉吧~

 

下面是一些代码的执行时间。

 

//以下程式执行次数
$_i =1000000;
 

下面我们来看下for循环

 

/**
 * 这就是以前经常写的循环和判断
 * for(i=0;i<5;i++)
 * if (0 < 1)
 */
$_val = 1;
for($_j=0;$_j<$_i;$_j++){
	if (0 < $_val) {
	}
}
/**
 * 以下是执行时间
 * 0.106183052063
 * 0.105647087097
 * 0.105874061584
 * 0.117154121399
 */

/**
 * 接下来看下更改后的
 */
$_val = 1;
for($_i;$_i;$_i--){
	if (0 < $_val) {
		
	}
}

/**
 * 执行时间
 * 0.0908319950104
 * 0.0884439945221
 * 0.0853419303894
 * 0.0844340324402
 */

 同样是循环($_i)次,而下面的却比上面的少花费0.01~0.02秒。原因是每次不用去判断$_i,因为当$_i=0的时后,判断就为false了。

 

所以我们的if判断也可以这样写

$_val = 1;
if ($_val) {
}

 只要是数字都是ture,0就是false啦


下面这个是很容易犯的错误,在循环中声明变量,我们来看下执行时间

$_val = 1;
for($_i;$_i;$_i--){
	if ($_val) {	
	}
}
/**
 * 执行时间
 * 0.100801944733
 * 0.0974791049957
 * 0.0993800163269
 * 0.112987041473
 */


//把变量放在循环中
for($_i;$_i;$_i--){
	$_val = 1;
	if ($_val) {
	}
}
/**
 * 执行时间
 * 0.133583068848
 * 0.117377996445
 * 0.116209983826
 * 0.12203502655
 */

 上面的代码可以看出差距了吧


判断或者的情况

$_val = 3;
for($_i;$_i;$_i--) {
	if (3 == $_val || 4 == $_val || 5 == $_val) {

	}
}
/**
 * 执行时间
 * 0.11983704567
 * 0.12117600441
 * 0.129379987717
 * 0.131067991257
 */

$_val = 5;
for($_i;$_i;$_i--) {
	if (3 == $_val || 4 == $_val || 5 == $_val) {

	}
}
/**
 * 执行时间
 * 0.27806186676
 * 0.316290855408
 * 0.259559869766
 * 0.277565956116
 */

//用php自带的函数
$_val = 5;
for($_i;$_i;$_i--) {
	if (in_array($_val,array(3,4,5))) {
	}
}
/**
 * 1.13307905197
 * 1.12578582764
 * 1.14648389816
 */

 有php函数就用php函数吧,你会发现php函数简单好用。


还有一个查询的

//比如查詢統計的時候,查看該會員某些條件下是否有po過文章

SELECT id FROM post WHRE user_id='{$_user_id}' AND ......

//這樣寫沒錯啦,就是效率很慢,其實就是查詢是否有該數據,可以在後面添加一限制條數  LIMIT 1

SELECT id FROM post WHRE user_id='{$_user_id}' AND ...... LIMIT 1
 

希望以上写的对大家有所帮助。

 

相关标签: PHP J#