Código
<?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){ 1 => true, // head 2 => false); // tail return $heads_tails[$random]; } $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í:
Código
while($heads_tails == false){ $kill_a_dog++; $heads_tails = heads_tails($random); }
Lamento el post tan ridículo. Saludos.