PHP, işlenenlerini tam sayıya bölen ve bölme işlemini int olarak döndüren yeni bir intdiv() fonksiyonu tanıttı.
intdiv() fonksiyonu iki tam sayı parametresinin tam sayı bölümünü döndürür. "a/b"nin sonucu "c"nin bölüm ve "r"nin kalan olması durumunda:
a=b*c+r
Bu durumda, intdiv(a,b) r − değerini döndürür.
intdiv ( int $x , int $y ) : int
$x ve $y, bölme ifadesinin pay ve payda kısımlarıdır. intdiv() fonksiyonu bir tam sayı döndürür. Her iki parametre de pozitifse veya her iki parametre de negatifse dönüş değeri pozitiftir.
Örnek 1
Payda < payda ise, intdiv() fonksiyonu aşağıda gösterildiği gibi "0" döndürür.
PHP:
<?php
$x=10;
$y=3;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
$r=intdiv($y, $x);
echo "intdiv(" . $y . "," . $x . ") = " . $r;
?>
Aşağıdaki çıktıyı üretecektir:
intdiv(10,3) = 3
intdiv(3,10) = 0
Örnek 2
Aşağıdaki örnekte, intdiv() fonksiyonu, pay veya paydanın negatif olması nedeniyle negatif tam sayı döndürür.
PHP:
<?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";
?>
Aşağıdaki çıktıyı üretecektir:
intdiv(10,-3) = -3
intdiv(-10,3) = -3
Örnek 3
intdiv() fonksiyonu, pay ve paydanın her ikisinin de pozitif veya her ikisinin de negatif olması durumunda pozitif bir tam sayı döndürür.
PHP:
<?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 ;
?>
Aşağıdaki çıktıyı üretecektir:
intdiv(10,3) = 3
intdiv(-10,-3) = 3
Örnek 4
Aşağıdaki örnekte, payda "0"dır. DivisionByZeroError istisnasıyla sonuçlanır.
PHP:
<?php
$x=10;
$y=0;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
?>
Aşağıdaki çıktıyı üretecektir:
PHP Fatal error: Uncaught DivisionByZeroError: Division by zero in hello.php:4