Me estoy comiendo la cabeza con una estupidez que quería hacer.
<?php
/* Jose' coin flipping
If you get "Head", that means you have to come,
but if it's "tail" you haven't.
Best of lucks!
Development by Aitor
*/
function heads_tails($random){
$heads_tails = array(
1 => true, // head
2 => false); // tail
return $heads_tails[$random];
}
$random = rand(1,2);
$heads_tails = heads_tails($random);
$kill_a_dog = 0;
while($heads_tails == false){
$kill_a_dog++;
$heads_tails = heads_tails($random);
}
echo "Número de perros muertos: ".$kill_a_dog;
?>
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í:
while($heads_tails == false){
$random = rand(1,2);
$kill_a_dog++;
$heads_tails = heads_tails($random);
}
Lamento el post tan ridículo. Saludos.
Cita de: #!drvy en 12 Marzo 2016, 00:49 AM
$kill_a_dog = 0;
...
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 ::)