Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Datos aleatorios

Estas en el tema de Datos aleatorios en el foro de PHP en Foros del Web. Hola a todos, en primer lugar daros las gracias por vuestro tiempo y pedir disculpas por tal vez una duda sencilla pero estoy empezando, no ...
  #1 (permalink)  
Antiguo 15/03/2015, 12:27
 
Fecha de Ingreso: marzo-2015
Mensajes: 4
Antigüedad: 9 años, 1 mes
Puntos: 0
Datos aleatorios

Hola a todos, en primer lugar daros las gracias por vuestro tiempo y pedir disculpas por tal vez una duda sencilla pero estoy empezando, no soy informatico y a veces me encuentro con laberintos que no consigo descifrar.

El problema es el siguiente. Tengo un array de 300 datos, aquí dejo esta parte:
Array ( [Ciromazina] => 124 [Acefato] => 108 [Pimetrozina] => 100 [Metamidofos] => 95 [Formetanato] => 104 )
Quisiera de esos 300 que me tomara 20 datos aleatorios, pero con la característica que cada dato (ciromazina, acefato...) está unido al numero por lo que ese dato, cuando lo saque en una tabla tiene que quedar con su valor (ej. ciromazina 124). Lo único que se me ha ocurrido es:
shuffle($compuestos_t);
$aleatorio = array_slice($compuestos_t, 0,2);
$matriz=array_combine($compuestos_t,$datosaccuracy _spike); //esta es la que tiene el aray indicado anteriormente.
foreach($aleatorio as $key ){
echo $matriz[$key];
}

Pero no me saca el dato y su valor (ciromazina 124) si no que toma el valor del array, siempre los 20 primeros con lo que los datos están aleatorios pero no el valor que son los 20 primeros.

Espero haberme explicado. Agradezco cualquier ayuda.

Un saludo.
  #2 (permalink)  
Antiguo 16/03/2015, 04:17
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 9 años, 7 meses
Puntos: 14
Respuesta: Datos aleatorios

Mmmh, mira a ver si te puede servir algo así:

Código PHP:
Ver original
  1. $arrayInicial = array (); // Aquí pones tu array inicial
  2.  
  3. $aleatorio = array_rand($arrayInicial, 20);
  4.  
  5. foreach ( $aleatorio as $unDato )
  6. {
  7.     echo "Dato: " . $unDato ."<br />";
  8.     echo "Valor: " . $arrayInicial[$unDato] . "<br />";
  9. }
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.
  #3 (permalink)  
Antiguo 19/03/2015, 03:11
 
Fecha de Ingreso: marzo-2015
Mensajes: 4
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Datos aleatorios

Muchas gracias, funciona muy bien, pero al hacer la prueba se me ha planteado una duda, si fueran un array con mas columnas ¿cómo se podría hacer?. Es decir, si el array sería de 4 columnas como así
Array ( [0] => Ciromazina [1] => Pimetrozina [2] => Formetanato [3] => Metamidofos [4] => Acefato [5] => Prueba [6] => 12 [7] => 10 [8] => 10 [9] => 9 [10] => 10 [11] => No An. [12] => 124 [13] => 108 [14] => 100 [15] => 95 [16] => 104 [17] => No An. [18] => 302 [19] => 496 [20] => 32 [21] => 147 [22] => 100 [23] => No An. )

¿cómo sacaría la información de las cuatro columnas?. He intentado esto pero no funciona.

$matriz=array_merge($compuestos_t,$datosconc_spike ,$datosaccuracy_spike,$datossn_spike);
$aleatorio = array_rand($matriz, 2);
print_r($matriz);
foreach ( $aleatorio as $unDato )
{
echo "Dato: " . $unDato ."<br />";
echo "Valor: " . $matriz[$unDato[1]] . "<br />";
}

Gracias por tu tiempo.
  #4 (permalink)  
Antiguo 20/03/2015, 06:25
 
Fecha de Ingreso: marzo-2015
Mensajes: 4
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Datos aleatorios

Tal vez no sea una manera muy correcta, pero lo he solucionado. Dividiendo el array de dos en dos. Es decir:

$matriz2=array_combine($compuestos_t,$datosaccurac y_spike);
$matriz3=array_combine($compuestos_t,$datossn_spik e);

Y el resto lo que indicó JSON.

Gracias.

Etiquetas: tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:05.