Problema con funciones y while.

Iniciado por #Aitor, 12 Marzo 2016, 00:16 AM

0 Miembros y 1 Visitante están viendo este tema.

#Aitor

Me estoy comiendo la cabeza con una estupidez que quería hacer.

Código (php) [Seleccionar]
<?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(
=> true// head
=> 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í:

Código (php) [Seleccionar]

while($heads_tails == false){
$random = rand(1,2);
$kill_a_dog++;
$heads_tails = heads_tails($random);

}


Lamento el post tan ridículo. Saludos.
Mi algoritmo en PHP (estupideces y más).
Código (php) [Seleccionar]
while($Se_feliz){
  Piensa_un_OBJETIVO(); // Sin excusas!
  if($Tienes_un_objetivo){
    Suspira(); // Sé paciente.
    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
      //RETURN; ¿O volvemos a empezar?
    }else{
      Inténtalo_de_nuevo();
    }
  }
}

#!drvy

Código (php) [Seleccionar]
$kill_a_dog = 0;
...
echo "Número de perros muertos: ".$kill_a_dog;



Pobres perritos  :-\


Saludos

#Aitor

Cita de: #!drvy en 12 Marzo 2016, 00:49 AM
Código (php) [Seleccionar]
$kill_a_dog = 0;
...
echo "Número de perros muertos: ".$kill_a_dog;



Pobres perritos  :-\


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  ::)
Mi algoritmo en PHP (estupideces y más).
Código (php) [Seleccionar]
while($Se_feliz){
  Piensa_un_OBJETIVO(); // Sin excusas!
  if($Tienes_un_objetivo){
    Suspira(); // Sé paciente.
    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
      //RETURN; ¿O volvemos a empezar?
    }else{
      Inténtalo_de_nuevo();
    }
  }
}