Как стать автором
Обновить

Проверка на непустость

Время на прочтение 1 мин
Количество просмотров 648
Смотрел тут чужой код и увидел несколько видов проверки пустое ли значение переменной
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 млн. итераций.
Теги:
Хабы:
+1
Комментарии 28
Комментарии Комментарии 28

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн