Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: #Aitor en 12 Marzo 2016, 00:16 am



Título: Problema con funciones y while.
Publicado por: #Aitor en 12 Marzo 2016, 00:16 am
Me estoy comiendo la cabeza con una estupidez que quería hacer.

Código
  1. <?php
  2.  
  3. /* Jose’ coin flipping
  4.  
  5.  If you get “Head”, that means you have to come,
  6.  but if it’s “tail” you haven’t.
  7.  
  8.  Best of lucks!
  9.  
  10.  Development by Aitor
  11.  */
  12.  
  13. function heads_tails($random){
  14.  
  15. $heads_tails = array(
  16. 1 => true, // head
  17. 2 => false); // tail
  18.  
  19. return $heads_tails[$random];
  20. }
  21.  
  22. $random = rand(1,2);
  23.  
  24. $heads_tails = heads_tails($random);
  25.  
  26. $kill_a_dog = 0;
  27.  
  28. while($heads_tails == false){
  29. $kill_a_dog++;
  30. $heads_tails = heads_tails($random);
  31. }
  32.  
  33. echo "Número de perros muertos: ".$kill_a_dog;
  34.  
  35. ?>

La idea es, a partir de un número aleatorio, 1 ó 2, genera un true o false, lo que sería cara, en caso de true, y cruz en caso de false.

En el caso de que saliese false, entrar en un while del que no salgas hasta que la función retorne un true, el problema está en que, al probar el código, genera el siguiente error.

Citar
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\PHP\JoseComeHere\test2.php on line 30

¿Dónde está el fallo?

Edito:

Soy la cosa más idiota del mundo. Rand siempre tendría el mismo valor y por ello nunca saldría del bucle. Solucionado con meter un rand en el while tal que así:

Código
  1. while($heads_tails == false){
  2. $random = rand(1,2);
  3. $kill_a_dog++;
  4. $heads_tails = heads_tails($random);
  5.  
  6. }
  7.  

Lamento el post tan ridículo. Saludos.


Título: Re: Problema con funciones y while.
Publicado por: #!drvy en 12 Marzo 2016, 00:49 am
Código
  1. $kill_a_dog = 0;
  2. ...
  3. echo "Número de perros muertos: ".$kill_a_dog;


Pobres perritos  :-\
(http://tuscachorros.com/wp-content/uploads/2009/04/adorable01.jpg)

Saludos


Título: Re: Problema con funciones y while.
Publicado por: #Aitor en 12 Marzo 2016, 02:02 am
Código
  1. $kill_a_dog = 0;
  2. ...
  3. echo "Número de perros muertos: ".$kill_a_dog;


Pobres perritos  :-\
(http://tuscachorros.com/wp-content/uploads/2009/04/adorable01.jpg)

Saludos

No es mi culpa que no quieran venir al Salón del manga, y a consecuencia tenga que matar perros para que vengan. Muahahhahaha  ::)