Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/09/2009, 00:20
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Problema el recoger variables

Hola
Bueno, pues para solventar tu tema creería que puedes manejar un array que te almacene los resultados en tantas posiciones como iteraciones de contador hagas

Sin embargo, me tome la libertad de mejorar tu codigo, lo posteo para que lo pruebes y me comentes si te soluciona en algo lo que hice
Saludos

Código php:
Ver original
  1. <?php      
  2. $letras = array("A","B","C","D","E");                  
  3. //Array donde por cada letra genero las posiciones y valores necesarios
  4. $letrasnumeros = array("A" => array("0" => "1", "1" => "2", "2" => "3", "3" => "4"),
  5.               "B" => array("4" => "1", "5" => "2", "6" => "3", "7" => "4"),
  6.               "C" => array("8" => "1", "9" => "2", "10" => "3", "11" => "4"),
  7.               "D" => array("12" => "1", "13" => "2", "14" => "3", "15" => "4"),
  8.               "E" => array("16" => "1", "17" => "2", "18" => "3", "19" => "4")
  9.               );
  10. $resultados = array();
  11.  
  12.     for ($contador = 1; $contador <= 3; $contador++)
  13.     {
  14.         //El random lo hago revisando el primer valor de el array letras (En este caso A) y el ultimo (En este caso E), pensando que si
  15.         //a futuro crecen o decrecen las opciones solo sea cuestion de quitar o agregar valores a ese array
  16.         $letraAleatoria = chr(rand(ord($letras[0]), ord($letras[count($letras) - 1])));
  17.             //Manejo las mismas variables $Desde y $Hasta pues ahora cambiaran su valor dependiendo de la letra aleatoria
  18.             if( $letraAleatoria == "A" ){
  19.             $Desde = 0;
  20.             $Hasta = 3;
  21.             }
  22.             else if( $letraAleatoria == "B" ){
  23.             $Desde = 4;
  24.             $Hasta = 7;
  25.             }
  26.             else if( $letraAleatoria == "C" ){
  27.             $Desde = 8;
  28.             $Hasta = 11;
  29.             }
  30.             else if( $letraAleatoria == "D" ){
  31.             $Desde = 12;
  32.             $Hasta = 15;
  33.             }
  34.             else if( $letraAleatoria == "E" ){
  35.             $Desde = 16;
  36.             $Hasta = 19;
  37.             }
  38.         $numeroAleatorio = rand($Desde, $Hasta);
  39.         //Asigno al arreglo $resultados en la posicion $contador el valor del arreglo $letrasAleatorias en su posicion de letra y dentro de esta
  40.         //el valor designado, asi por ej si la letra es A y el $numeroAleatorio es 3 $resultados[$contador] = "A4",
  41.         //o si la letra es E y $numeroAleatorio es 17 $resultados[$contador] = "E2"
  42.         $resultados[$contador] = $letraAleatoria.$letrasnumeros[$letraAleatoria][$numeroAleatorio];
  43.     }
  44.  
  45.     echo "Resultados finales <br>";
  46.     for ($contador = 1; $contador <= 3; $contador++)
  47.     {
  48.         echo $contador." fue ".$resultados[$contador]."<br>";
  49.     }
  50. ?>