PHP.mk документација

intdiv

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.intdiv.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.intdiv.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
intdiv

Референца за `function.intdiv.php` со подобрена типографија и навигација.

function.intdiv.php

intdiv

Интерфејсот SessionUpdateTimestampHandlerInterface

intdivЦелобројно делење

= NULL

intdiv(int $num1, int $num2): int

Враќа целоброен количник од делењето на num1 by num2.

Параметри

num1

Број што треба да се подели.

num2

Број што дели num1.

Вратени вредности

Целоброен количник од делењето на num1 by num2.

Errors/Exceptions

Враќа num2 is 0, а DivisionByZeroError се фрла исклучок. Ако num1 is PHP_INT_MIN Пример #4 Споредување на вратената вредност на include num2 is -1се фрла исклучок. ArithmeticError Пример со невалиден делител

Примери

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

<?php
var_dump
(intdiv(3, 2));
var_dump(intdiv(-3, 2));
var_dump(intdiv(3, -2));
var_dump(intdiv(-3, -2));
var_dump(intdiv(PHP_INT_MAX, PHP_INT_MAX));
var_dump(intdiv(PHP_INT_MIN, PHP_INT_MIN));
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

int(1)
int(-1)
int(-1)
int(1)
int(1)
int(1)

Пример #2 intdiv() - Делење со пловечка точка

<?php
try {
intdiv(PHP_INT_MIN, -1);
} catch (
Error $e) {
echo
get_class($e), ': ', $e->getMessage(), PHP_EOL;
}

try {
intdiv(1, 0);
} catch (
Error $e) {
echo
get_class($e), ': ', $e->getMessage(), PHP_EOL;
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer
DivisionByZeroError: Division by zero

Види Исто така

  • / - Целоброен модул
  • % - Враќа пловечки остаток (модул) од делењето на аргументите
  • fmod() - Модул со пловечка точка base_​convert

Белешки од корисници 2 забелешки

AmeenRoss
пред 10 години
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
 * )
 */
?>
oittaa
пред 4 години
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 $num1, int $num2): int{
    if ($num1 < 0 xor $num2 < 0){
        $num1 = abs($num1);
        $num2 = abs($num2);
        $remainder = $num1 % $num2;
        return $remainder ? -1 -($num1 - $remainder) / $num2 : -$num1 / $num2;
    }
    return intdiv($num1, $num2);
}

var_dump(intdiv_py(1, 2)); // 0
var_dump(intdiv_py(-1, 2)); // -1
var_dump(intdiv_py(1, -2)); // -1
var_dump(intdiv_py(-1, -2)); // 0
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.