我正在编写一个函数,其中有很多is_int($var)比较。但是$var只能是两种类型:整数或布尔值false。
我想知道哪个函数是最快的:
if (is_int($var)) {}
或
if ($var!==false) {}
或
if (!($var===false)) {}
任何想法?
显然答案是
if ($var!==false) {}
比function快,一个布尔表达式比两个布尔表达式快。
和一个布尔表达式比两个布尔表达式快。
当涉及到基准测试时,永远不要做假设。我测量:
-
if ($var!==false) {}
与int: 1.417324 -
if ($var!==false) {}
with boolean: 1.432197 -
if (!($var===false)) {}
与int: 1.414805 -
if (!($var===false)) {}
带布尔值:1.421146