Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: q0ok en 5 Julio 2011, 04:26 AM

Título: ¿Por qué no funciona?
Publicado por: q0ok en 5 Julio 2011, 04:26 AM
Código (php) [Seleccionar]

<?php
function pow ($Res$Base$Power) {
$fun = array('Res'=>$Res,'Base'=>$Base,'Power'=>$Power);
for ($a=1;$i<$fun['Power'];$a++) {
$fun['Res'] = $fun['Res']*$fun['Base'];
}
return $fun['Res'];
}
echo 
pow (2,2,5);
?>
Título: Re: ¿Por qué no funciona?
Publicado por: Nakp en 5 Julio 2011, 04:59 AM
en el for has puesto $a e $i

para la proxima intenta ser mas especifico ;)
Título: Re: ¿Por qué no funciona?
Publicado por: :ohk<any> en 6 Julio 2011, 05:30 AM
Acaso pow no es una variable reservada?
Título: Re: ¿Por qué no funciona?
Publicado por: Shell Root en 6 Julio 2011, 05:42 AM
Es verdad, debería de tirar un error... :http://co.php.net/pow
Código (PoC) [Seleccionar]
PHP Fatal error:  Cannot redeclare pow() in[...]

No se para qué metes los parámetros en un array. Acaso no es mejor manejaros como variables?. Podría ser reemplazado con,
Código (php) [Seleccionar]
 function sPow( $num, $exp ){
   $res = 1;
   for ($i=0;$i<$exp;$i++){
     $res *= $num;
   }
   return $res;
 }

 print "Con mi funcion: ".sPow(4,3)."\n";
 print "Con pow: ".pow(4,3)."\n";


El resultado sería,
Código (bash) [Seleccionar]
shellroot@shellroot:~/Escritorio$ php PoC.php
Con mi funcion: 64
Con pow: 64