PHP: Правильное округление до ближайшего меньшего целого

12 Янв 2011

Когда я старательно пишу php скрипт, я начинаю задрачиваться на тему оптимизации. И вот в очередной раз, когда мне понадобилось округлить дробное число до ближайшего меньшего целого я задумался над тем, что это можно сделать двумя способами:

  • С помощью функции floor()
  • С помощью приведения к целочисленному типу(int)

Проведя небольшой эксперемент, я узнал какой способ более эффективен.

Я написал следующий скрипт:

$r = 5464.78345;
$start = microtime(1);
 
for($i = 0; $i < 10000; $i++){
 $p = (int)$r;
}
 
$end = microtime(1);
echo $end - $start;

В нем я сначала использовал приведение. Выполнение скрипта дало результат примерно 0.000868 секунды.

После я исправил в скрипте приведение на использование функции floor():

$r = 5464.78345;
$start = microtime(1);
 
for($i = 0; $i < 10000; $i++){
 $p = floor($r);
}
 
$end = microtime(1);
echo $end - $start;

В результате получил примерно 0.00200 секунды.

Как видите, использование приведения (int), для округления числа до ближайшего меньшего целого более эффективно.

Теперь я довольный собой буду писать оптимизированые скрипты :-)

Забобрить!
Запомнить эту страницу на Закладок.нет!
www.vaau.ru
Уважаемый читатель! Если мой блог Вам понравился, то предлагаю подписаться на обновление по RSS или по E-mail. У меня так же есть аккаунт в Twitter, за которым Вы можете следовать.

Комментариев нет

Добавить комментарий

Псевдоним*:
Эл. почта*:
Сайт: