I was expecting gmp_fact() is more effective than doing a while loop, but measurements show opposite:
<?php
$cislo = 112;
$fact = $cislo;
$ffact = 1;
$mt = microtime();
while($fact >= 1)
{
$ffact = $fact * $ffact;
$fact--;
}
$md=number_format(microtime()-$mt, 6);
echo "<h1>LOOP ($md):</h1>";
echo $ffact;
$mt = microtime();
$vec = gmp_fact($cislo);
$md=number_format(microtime()-$mt, 6);
echo "<h1>GMP FACT ($md):</h1>";
echo $vec;
exit();
?>
WILL OUTPUT:
LOOP (0.000022s):
1.9745068572211E+182
GMP FACT (0.000132s):
1.9745068572211E+182
Result is 0.000022s loop, and 0.000132s gmp_fact()