如何在PHP中不用余数来分割数字?

如何划分数字,但排除在PHP中的剩余部分?

只需将结果值转换为int。

$n = (int) ($i / $m); 

有趣的function(取决于你想要达到什么样的效果,如果你期望负数整数的话)是floor()ceil()round()

对于大多数实际的目的,接受的答案是正确的。

但是,对于整数为64位的构build,并不是所有可能的整数值都可以表示为双精度浮点数; 有关详情,请参阅我对已接受答案的评论。

一个变种

 $n = ($i - $i % $m) / $m; 

(在另一个答案中取自KingCrunch评论的代码)将根据所需的舍入行为(请记住模数运算符的结果可能为负)来避免此问题。

除了上面的$result = intval($a / $b)之外的决定,还有一个特例:

如果你需要一个整数除法(没有余数)的两个幂( $b2 ^ N ),你可以使用按位右移操作:

 $result = $a >> $N; 

其中$ N是32位操作系统上从1到32的数字,或64位数字是64。

有时这很有用,因为对于$ b的情况来说,这是最快的决定。

而且还有一个倒退(小心由于溢出!)操作乘以二的幂:

 $result = $a << $N; 

希望这也有助于某人。

或者你可以做intval(13/2)给6

在php中使用modulo:

 $n = $i % $m;