Autor Zpráva
Martin02
Profil
Ahoj,
chtěl jsem si udělat funkci, která vypočítá faktorial určité hodnoty. Dělal jsem to podle nějakého návodu a myslím, že nikde není problém, ale script nefunguje.
<?php
  function factorial($n) {
      $result = ($n * factorial($n-1));
      return $result;
  }
  echo factorial('6');
?>
Fatal error: Maximum function nesting level of '100' reached, aborting! in C:\Program Files\EasyPHP\www\AOML\password.php on line 3

Prosím poraďte, proč nefunguje. Děkuji
Alphard
Profil
Faktoriál přes Math pro vysvětlení. U faktoriálu 6 se vám to musí cyklit. Zamyslete se nad tím, že tam není žádná podmínka. Pořád rekurzivně voláte pro $n - 1. A číselný parametr nepatří do apostrofů.
Martin02
Profil
Děkuji moc. Zapoměl jsem na tu podmínku. Nejdřív jsem myslel, že když nebudu do $n zadávat 0 nebo 1 tak tam nebude potřeba, ale ta $n se vlastně v průběhu skriptu stane jedničkou...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0