Foro de elhacker.net

Programación => 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
  1. <?php
  2. function pow ($Res, $Base, $Power) {
  3. $fun = array('Res'=>$Res,'Base'=>$Base,'Power'=>$Power);
  4. for ($a=1;$i<$fun['Power'];$a++) {
  5. $fun['Res'] = $fun['Res']*$fun['Base'];
  6. }
  7. return $fun['Res'];
  8. }
  9. echo pow (2,2,5);
  10. ?>


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
  1. 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
  1.  function sPow( $num, $exp ){
  2.    $res = 1;
  3.    for ($i=0;$i<$exp;$i++){
  4.      $res *= $num;
  5.    }
  6.    return $res;
  7.  }
  8.  
  9.  print "Con mi funcion: ".sPow(4,3)."\n";
  10.  print "Con pow: ".pow(4,3)."\n";

El resultado sería,
Código
  1. shellroot@shellroot:~/Escritorio$ php PoC.php
  2. Con mi funcion: 64
  3. Con pow: 64