Concepto de Recursión - Quinto tema de la página.
<?php function esEntero($numero) { if ($numero < 0) { /* como los núm. son simétricos chequeamos lo convertimos a positvo */ return (esEntero(-$numero)); } elseif ($numero >= 1) { return (esEntero($numero -1)); } elseif ($numero == 0) { /* el cero es entero por definición */ return ('SI'); } else { return ('NO'); } } // fin esEntero echo '¿Es 0 un número entero? '.esEntero(0).'<br>'; echo '¿Es 3.5 un número entero? '.esEntero(3.5).'<br>'; echo '¿Es -7 un número entero? '.esEntero(-7).'<br>'; echo '¿Es -9.2 un número entero? '.esEntero(9.2).'<br>'; echo '¿Es 1 un número entero? '.esEntero(1).'<br>'; echo '¿Es 100 un número entero? '.esEntero(100).'<br>'; function factorial( $n ) { if ($n == 0 || $n== 1) { // $n == 0 o $n == 1 termina la ejecucion return 1; } else { return ( $n * factorial ($n-1)); } } // fin factorial echo 'El factorial de 3 es ' . factorial(3) . '<br>'; echo 'El factorial de 7 es ' . factorial(7) . '<br>'; echo 'El factorial de 2 es ' . factorial(2) . '<br>'; echo 'El factorial de 0 es ' . factorial(0) . '<br>'; ?>