Tengo una matriz de 30 valores y necesito extraer de esta matriz 3 valores aleatorios diferentes. ¿Cómo puedo hacerlo?Elija 3 valores aleatorios diferentes de una matriz
Respuesta
robado Desvergonzadamente del manual de PHP:
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>
Tenga en cuenta que, a partir de PHP 5.2.10, es posible que desee shuffle (aleatoria) de la las claves que se devuelven a través de shuffle($rand_keys)
; de lo contrario, siempre estarán en orden (el índice más pequeño primero). Es decir, en el ejemplo anterior, podrías obtener "Neo, Trinity" pero nunca "Trinity, Neo".
Si el orden de los elementos aleatorios no es importante, entonces el código anterior es suficiente.
uso shuffle($array)
continuación array_rand($array,3)
¿Alguna razón particular por la que llamas 'shuffle'? –
solo para asegurarse de que es completamente aleatorio :) ... la historia detrás de esto es el hecho de que el año pasado usando array_randi estaba viendo resultados no tan aleatorios (elementos similares en ejecuciones consecutivas), por lo que es un poco más aleatorio Mezclaba primero la matriz y luego la alimentaba a la función array_rand y parecía dar más valores aleatorios. –
Aún necesita obtener de las claves a los valores .... –
No estoy seguro de por qué molestarse en usar array_rand()
en absoluto, ya que es simplemente una llamada de función adicional para aparentemente sin motivo. Simplemente shuffle()
y cortar los primeros tres elementos:
shuffle($array);
print_r(array_slice($array, 0, 3));
Mucho más limpio, esta debería ser una respuesta aceptada –
- 1. Java: elija varios números aleatorios diferentes de la matriz al mismo tiempo
- 2. Extraer x valores aleatorios de una matriz de bash
- 3. Como llegar elementos aleatorios de una matriz
- 4. Generación de números aleatorios diferentes entre OS
- 5. Recuperar x elementos aleatorios de una matriz
- 6. ¿Cómo puedo generar una matriz de valores aleatorios de tamaño variable en MATLAB?
- 7. Generar valores aleatorios en C#
- 8. ¿Cómo obtener una matriz de valores de una matriz asociativa?
- 9. Obtención de 3 registros aleatorios de una tabla
- 10. ¿Cómo se configuran los valores de una matriz a los valores de otra matriz en Java?
- 11. urlencode una matriz de valores
- 12. Elija un subconjunto aleatorio exclusivo de un conjunto de valores únicos
- 13. ¿Cómo crear una matriz de 20 bytes aleatorios?
- 14. Generador de números aleatorios en C# - valores únicos
- 15. Cómo obtener valores aleatorios para LogicalTypes
- 16. Cómo definir una variable con valores aleatorios en Smarty
- 17. Insertar varios valores de una matriz en otra matriz
- 18. Elija una celda por fila en el marco de datos
- 19. sustituir valores en una matriz
- 20. Gran matriz con números aleatorios con python
- 21. String.GetHashCode() devuelve valores diferentes
- 22. Python 3 Creando una matriz de bytes
- 23. jQuery Elija Índice
- 24. ¿Seleccionar valores que cumplen diferentes condiciones en filas diferentes?
- 25. C# Random.Next de repente deja de devolver valores aleatorios
- 26. Los 3 diferentes es igual a
- 27. PHP: cómo llenar una matriz con claves y valores de modo 1 = 1, 2 = 2, 3 = 3, etc.
- 28. Javascript compare 3 valores
- 29. Eliminar valores nan de una matriz
- 30. Adición de valores nulos en una matriz
posible duplicado de [Obtener un subconjunto de valores aleatorios a partir de un php de matriz] (http://stackoverflow.com/questions/3504401/get-a-subset-of -random-values-from-an-array-php) – kennytm