Php 简明教程

PHP – Integer Division

PHP 引入了一个新函数 intdiv(),它执行其操作数的整数除法,并返回除法结果作为 int。

intdiv() 函数返回两个整数参数的整数商。如果 “a/b” 除法的结果是 “c”,余数是 “r” −

a=b*c+r

在这种情况下, intdiv(a,b) 返回 r

intdiv ( int $x , int $y ) : int

$x 和 $y 是除法表达式的分子和分母部分。intdiv() 函数返回一个整数。如果两个参数都是正数或负数,则返回值为正数。

Example 1

如果分子 < 分母,则 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;
?>

它将生成以下 output

intdiv(10,3) = 3
intdiv(3,10) = 0

Example 2

在以下示例中,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";
?>

它将生成以下 output

intdiv(10,-3) = -3
intdiv(-10,3) = -3

Example 3

分子和分母都是正数或都是负数的情况下,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 ;
?>

它将生成以下 output

intdiv(10,3) = 3
intdiv(-10,-3) = 3

Example 4

在以下示例中,分母为 “0”。它导致 DivisionByZeroError 异常。

<?php
   $x=10;
   $y=0;
   $r=intdiv($x, $y);
   echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
?>

它将生成以下 output

PHP Fatal error:  Uncaught DivisionByZeroError: Division by zero in hello.php:4