Смотрел тут чужой код и увидел несколько видов проверки пустое ли значение переменной
1) empty($a)
2) $a==' '
3) !$a
Интересно, какой из этих методов более быстрый.
update:Переменная $a существует, ниже указан только тестовый кусок
Результат вполне ожидаемый.
1) 4,39
2) 4,87
3) 3,79
Операция логического отрицания быстрее, чем вызов встроенной функции проверки на пустоту и операции сравнения.
Однако не стоит забывать, что такое расхождение на 10 млн. итераций.
1) empty($a)
2) $a==' '
3) !$a
Интересно, какой из этих методов более быстрый.
update:Переменная $a существует, ниже указан только тестовый кусок
function gettime()
{
$arr=explode(' ',microtime());
return $arr[1]+$arr[0];
}
define ('Count',10000000);
$v=gettime();
for($i=0;$i[=Count;++$i)
if (empty($a))
{
}
echo ((gettime()-$v))."\n";
$v=gettime();
for($i=0;$i[=Count;++$i)
if ($a==''))
{
}
echo ((gettime()-$v))."\n";
$v=gettime();
for($i=0;$i[=Count;++$i)
if (!$a)
{
}
echo ((gettime()-$v))."\n";
Результат вполне ожидаемый.
1) 4,39
2) 4,87
3) 3,79
Операция логического отрицания быстрее, чем вызов встроенной функции проверки на пустоту и операции сравнения.
Однако не стоит забывать, что такое расхождение на 10 млн. итераций.