Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/10/2013, 10:11
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: Problema al generar un valor aleatorio sin que se repita

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Yo te propondría un ejercicio de análisis: ¿Que condiciones deberían cumplirse en esa llamada para obtener intencionalmente un NULL?

A veces, cuando recorriendo la lógica con datos reales, no se obtiene la respuesta de qué falla, es mejor mirarlo a la inversa...
En la función, justo después de la línea 64 del código que he puesto aquí he hecho dos var_dump()

Código PHP:
Ver original
  1. var_dump( $getquestionrandom );
  2. var_dump( $_SESSION['randomresult']['count'] );

Lo curioso, es que el método funciona correctamente, genera los valores aleatoriamente y en caso de que haya alguno repetido vuelve a generar otro valor hasta que no esté repetido y los va guardando en la sesión count.

Por lo tanto lo raro, rarísimo, es que de los var_dump anteriores en la última ejecución en local me hayan indicado lo siguiente

Código PHP:
Ver original
  1. int 6
  2. array (size=1)
  3.   0 => int 6
  4.            
  5.  
  6.                        
  7.            
  8. int 1
  9. array (size=2)
  10.   0 => int 6
  11.   1 => int 1
  12.            
  13.  
  14.                        
  15.            
  16. int 10
  17. array (size=3)
  18.   0 => int 6
  19.   1 => int 1
  20.   2 => int 10
  21.            
  22.  
  23.                        
  24.            
  25. null
  26. array (size=4)
  27.   0 => int 6
  28.   1 => int 1
  29.   2 => int 10
  30.   3 => int 9
  31.            
  32.  
  33.                        
  34.            
  35. //esto es del xdebug
  36. ( ! ) Notice: Undefined index:  in C:\xampp\htdocs\xampp\web\videosfav\twitter2\control\controller_public.php on line 207
  37. Call Stack
  38. #   Time    Memory  Function    Location
  39. 1   0.0020  135888  {main}(  )  ..\index.php:0
  40. 2   1.0251  580864  html_start(  )  ..\index.php:23
  41. 3   1.0251  580880  play_start(  )  ..\html_public.php:133
  42.            
  43.  
  44.                        
  45.                        
  46. int 4
  47. array (size=5)
  48.   0 => int 6
  49.   1 => int 1
  50.   2 => int 10
  51.   3 => int 9
  52.   4 => int 4

Si te fijas, lo curioso es que en sesión estan todos los valores correctamente pero en la función esta vez el 9 lo recoge como null :S

Eso es lo raro y no entiendo el por qué.

Para que un valor sea int pero el método retorne null o la función recoja null no se me ocurre ningún caso posible sin añadir código que ahí no está y yo no he escrito, cabe decir que el proyecto y código lo he hecho exclusivamente yo, nadie más ha tocado el código y no estoy utilizando framework.

EDITO y cabe decir que en la BD hay 11 preguntas, por lo tanto una novena pregunta sí tendría que haber existido.
__________________
Ayúdame a hacerlo por mi mismo.