intdiv()函数返回整数的两个整数参数商数。如果 x / y导致i为除法,r为余数,则
x = y * i + r
在这种情况下, intdiv(x,y)返回 i
intdiv ( int $x , int $y ) : int
序号 | 参数及说明 |
---|---|
1 | x 此参数构成除法表达式的分子部分 |
2 | y 此参数构成除法表达式的分母部分 |
PHPintdiv()
函数返回x除以y的整数商。如果两个参数均为正或两个参数均为负,则返回值为正。
此功能在PHP 4.x,PHP 5.x和PHP 7.x中可用。
以下示例显示,如果分子为<分母,则intdiv()
函数返回0
<?php $x=10; $y=3; $r=intdiv($x, $y); echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n"; $r=intdiv($y, $x); echo "intdiv(" . $y . "," . $x . ") = " . $r; ?>
输出结果
这将产生以下结果-
intdiv(10,3) = 3 intdiv(3,10) = 0
在以下示例中,intdiv()
函数返回负整数,因为分子或分母为负-
<?php $x=10; $y=3; $r=intdiv($x, $y); echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n"; $x=10; $y=-3; $r=intdiv($x, $y); echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n"; $x=-10; $y=3; $r=intdiv($x, $y); echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n"; $x=-10; $y=-3; $r=intdiv($x, $y); echo "intdiv(" . $x . "," . $y . ") = " . $r ; ?>
输出结果
这将产生以下结果-
intdiv(10,3) = 3 intdiv(10,-3) = -3 intdiv(-10,3) = -3 intdiv(-10,-3) = 3
在下面的示例中,分母为0。结果是DivisionByZeroError异常-1−
<?php $x=10; $y=0; $r=intdiv($x, $y); echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n"; ?>
输出结果
这将产生以下结果-
PHP Fatal error: Uncaught DivisionByZeroError: Division by zero
两个parametera中的小数部分都将被忽略,并且intdiv()
方法仅适用于整数部分-
<?php $x=2.90; $y=1.90; $r=intdiv($x, $y); echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n"; ?>
输出结果
这将产生以下结果-
intdiv(2.9,1.9) = 2