Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/05/2008, 11:46
Avatar de shakaran
shakaran
 
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Pregunta Respuesta: Cambio de array+rand a array_rand

Veamos, este código es la simplificación de uno mas complicado.

Digamos que tengo un fichero frases.template con 6 frases tal que:
Código PHP:
Frase1
Frase2
Frase3
Frase4
Frase5
Frase6 
Ese fichero es leido asi:

Código PHP:
$citassplit("\n",$GLOBALS[html]->template('base','citas')); 
Por lo que, por cada salto de linea se agrega un valor al array citas.

El array contendra:
Código PHP:
Array ( 
             [
0] => Frase1 
             
[1] => Frase2 
             
[2] => Frase3 
             
[3] => Frase4 
             
[4] => Frase5 
             
[5] => Frase6 
             
[6] =>  ) 
Observese, que $citas[6] sera vacío porque el ultimo salto de linea en el fichero tambien se cuenta.

Luego para 6 valores, tenemos 7 posiciones de array (del 0 al 6), luego count($citas) devuelve 7, y el rand se haría entre 0 y 7, puesto que la 7 no existe hay que restar un valor y como la 6 esta vacía, debemos restar otro. De ahi el -2 que me da problemas, ya que si no hubiese ese -2 podría hacer el array_rand() sin problemas de límites.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net