Я ищу самый быстрый способ сделать целочисленное деление в php. например, 5/2 должно быть 2 и 6/2 должно быть 3 и так далее. если я просто сделаю это, php вернет 2.5 в первом случае, единственное решение, которое я смог найти, это использовать intval($my_number/2)
- что не так быстро, как хотелось бы (но дает ожидаемые результаты).
Кто-нибудь может мне помочь с этим?
EDIT:
спасибо всем за ваши идеи, я использовал скрипт postet by rubber_boots, чтобы протестировать некоторые из них с 10000000 итераций, здесь вы можете увидеть результаты (MAMP на 3 или 4-летнем MacBook с Intel Core 2 Duo 2 ГГц):
start (10000000)
(int)...: 2.26 sec
floor(): 4.36 sec
int_divide(): 2.86 sec
bit-shift: 1.45 sec //note: only works for divisions through powers of 2
intval(): 4.51 sec
round() with PHP_ROUND_HALF_DOWN: 5.48 sec
до сих пор битрейт был самым быстрым способом, но я оставлю этот вопрос открытым на один день, чтобы посмотреть, есть ли другие возможности для этого ...
EDIT2:
обновил результаты, добавил round () с помощью PHP_ROUND_HALF_DOWN (спасибо Col._Shrapnel)