Ce face intdiv
Operatorul / returnează un float când împărțirea nu este exactă. intdiv returnează doar câtul întreg, tăind zecimalele (spre zero). Restul împărțirii se obține cu operatorul %.
Împărțirea la zero aruncă eroarea DivisionByZeroError.
Parametri
| Parametru | Descriere |
|---|---|
$num1 |
Deîmpărțitul. |
$num2 |
Împărțitorul. Nu poate fi 0. |
Ce returnează
Câtul, ca număr întreg.
Exemple
Exemplul 1: Cât și rest
<?php
var_dump(10 / 3);
var_dump(intdiv(10, 3));
var_dump(10 % 3);
var_dump(intdiv(-7, 2));
Rezultat
float(3.3333333333333335)
int(3)
int(1)
int(-3)
Exemplul 2: Minute transformate în ore și minute
<?php
$minute = 135;
echo intdiv($minute, 60) . " h " . ($minute % 60) . " min";
Rezultat
2 h 15 min
Exemplul 3: Împărțire la zero
<?php
try {
intdiv(5, 0);
} catch (DivisionByZeroError $e) {
echo $e->getMessage();
}
Rezultat
Division by zero
Greșeli frecvente
- Te aștepți ca
intdiv(-7, 2)să dea -4, cafloor(-3.5). Rezultatul este -3, pentru căintdivtaie zecimalele spre zero.