phpコード実行効率

2684 ワード

ここではいくつかのコードの実行状況について話しますが、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
 
以上書いたことが皆さんに役に立つことを願っています.