intdiv

(PHP 7)

intdivInteger division

Описание

int intdiv ( int $dividend , int $divisor )

Returns the integer quotient of the division of dividend by divisor.

Список параметров

dividend

Number to be divided.

divisor

Number which divides the dividend.

Возвращаемые значения

The integer quotient of the division of dividend by divisor.

Ошибки

If divisor is 0, a DivisionByZeroError exception is thrown. If the dividend is PHP_INT_MIN and the divisor is -1, then an ArithmeticError exception is thrown.

Примеры

Пример #1 intdiv() example

<?php
var_dump
(intdiv(32));
var_dump(intdiv(-32));
var_dump(intdiv(3, -2));
var_dump(intdiv(-3, -2));
var_dump(intdiv(PHP_INT_MAXPHP_INT_MAX));
var_dump(intdiv(PHP_INT_MINPHP_INT_MIN));
var_dump(intdiv(PHP_INT_MIN, -1));
var_dump(intdiv(10));
?>
int(1)
int(-1)
int(-1)
int(1)
int(1)
int(1)

Fatal error: Uncaught ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer in %s on line 8
Fatal error: Uncaught DivisionByZeroError: Division by zero in %s on line 9

Коментарии

Автор:
This does indeed seem to be equal to intdiv:

<?php
function intdiv_1($a$b){
    return (
$a $a $b) / $b;
}
?>

However, this isn't:

<?php
function intdiv_2($a$b){
    return 
floor($a $b);
}
?>

Consider an example where either of the parameters is negative:
<?php
$param1 
= -10;
$param2 3;
print_r([
   
'modulus' => intdiv_1($param1$param2),
   
'floor' => intdiv_2($param1$param2),
]);

/**
 * Array
 * (
 *     [modulus] => -3
 *     [floor] => -4
 * )
 */
?>
2015-07-11 16:15:50
http://php5.kiev.ua/manual/ru/function.intdiv.html
@AmeenRoss 
This does NOT  seem to be equal to intdiv:

<?php
function intdiv_1($a$b){
    return (
$a $a $b) / $b;
}
 
?>

See this example code
<?php 

$x 
5.6;
$y 1.4 ;

echo 
intdiv($x,$y);
   
    echo 
"\n";
   
function 
intdiv_1($a$b){
    return (
$a $a $b) / $b;
}   

echo 
intdiv_1($x,$y);
?>

//Output
5
4
2019-10-20 18:01:10
http://php5.kiev.ua/manual/ru/function.intdiv.html
Автор:
Python style integer division, where the result is always rounded towards minus infinity.

1 // 2 is 0
(-1) // 2 is -1
1 // (-2) is -1
(-1) // (-2) is 0

<?php
function intdiv_py(int $num1int $num2): int{
    if (
$num1 xor $num2 0){
       
$num1 abs($num1);
       
$num2 abs($num2);
       
$remainder $num1 $num2;
        return 
$remainder ? --($num1 $remainder) / $num2 : -$num1 $num2;
    }
    return 
intdiv($num1$num2);
}

var_dump(intdiv_py(12)); // 0
var_dump(intdiv_py(-12)); // -1
var_dump(intdiv_py(1, -2)); // -1
var_dump(intdiv_py(-1, -2)); // 0
?>
2022-02-06 06:56:44
http://php5.kiev.ua/manual/ru/function.intdiv.html

    Поддержать сайт на родительском проекте КГБ