gmp_div_q
funkcja
Dzieli całkowitoliczbowo dwie duże liczby GMP i zwraca iloraz jako obiekt GMP.
gmp_div_q(GMP|int|string $num1, GMP|int|string $num2): GMP
gmp_div_q wykonuje dzielenie całkowitoliczbowe — zwraca iloraz bez reszty (analogicznie do intdiv(), ale dla dowolnie dużych liczb). Wynik to obiekt GMP; wyświetlisz go przez echo lub gmp_strval(). Jeśli potrzebujesz reszty, użyj gmp_mod().
<?php
declare(strict_types=1);
$a = '100000000000000000000'; // 10^20
$b = 7;
$iloraz = gmp_div_q($a, $b);
echo $iloraz; // wynik: 14285714285714285714
$reszta = gmp_mod($a, $b);
echo $reszta; // wynik: 2
Argumenty mogą być obiektami GMP, liczbami int lub ciągami znaków. Dzielenie przez zero rzuca DivisionByZeroError — obsługuj ten przypadek. Do dzielenia liczb mieszczących się w zakresie PHP int używaj intdiv().