空でないテスト

ここで他の誰かのコードを見て、変数が空かどうかを確認するためにいくつかのタイプのチェックを見ました

1)空($ a)

2)$ a == ''

3)!$ A

これらの方法のどれが速いのだろうか。



更新: $ a変数が存在し、テストピースのみが以下にリストされています

関数gettime()

{

$ arr = explode( ''、microtime());

return $ arr [1] + $ arr [0];

}



define( 'Count'、10000000);

$ v = gettime();

for($ i = 0; $ i [=カウント; ++ $ i)

if(空($ a))

{

}

echo((gettime()-$ v))。 "\ n";



$ v = gettime();

for($ i = 0; $ i [=カウント; ++ $ i)

if($ a == ''))

{

}

echo((gettime()-$ v))。 "\ n";



$ v = gettime();

for($ i = 0; $ i [=カウント; ++ $ i)

if(!$ a)

{

}

echo((gettime()-$ v))。 "\ n";




結果は非常に期待されています。

1)4.39

2)4.87

3)3.79

論理否定演算は、組み込みのvoid check関数および比較演算を呼び出すよりも高速です。



ただし、このような不一致は1,000万回の繰り返しであることを忘れないでください。



All Articles