Я ищу самый быстрый способ сделать целочисленное деление в php. например, 5/2 должно быть 2 и 6/2 должно быть 3 и т.д. если я просто это сделаю, php вернет 2.5 в первом случае, единственным решением, которое я смог найти, было использование intval($my_number/2)
- это не так быстро, как я хочу, чтобы он был (но дает ожидаемые результаты).
может кто-нибудь помочь мне с этим?
EDIT:
спасибо всем вам за ваши идеи, я использовал postet от script от rubber_boots для тестирования некоторых из них с итерациями 10000000, здесь вы можете увидеть результаты (MAMP на 3 или 4-летнем macbook с 2Ghz intel core 2 duo)
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)