154 votes

Comment obtenir une valeur aléatoire d'un tableau

J'ai un tableau appelé $ran = array(1,2,3,4);

Je dois obtenir une valeur aléatoire de ce tableau et le stocker dans une variable, comment puis-je faire cela?

276voto

reko_t Points 22121

Vous pouvez aussi faire juste:

 $k = array_rand($array);
$v = $array[$k];
 

C'est le moyen de le faire quand vous avez un tableau associatif.

39voto

NDM Points 3541

PHP fournit une fonction juste pour cela: array_rand ()
http://php.net/manual/en/function.array-rand.php

 $ran = array(1,2,3,4);
$randomElement = $ran[array_rand($ran, 1)];
 

24voto

Ólafur Waage Points 40104

Vous pouvez utiliser mt_rand ()

 $random = $ran[mt_rand(0, count($ran) - 1)];
 

Cela est pratique aussi si vous avez besoin de la valeur

 function random_value($array)
{
    return $array[mt_rand(0, count($array) - 1)];
}
 

18voto

Jake Points 741

Je pense que cela devrait faire l'affaire, j'espère que cela aidera.

 $my_array = array('one', 'two', 'three', 'four', 'five', 'six');
print $my_array[array_rand($my_array, 1)];
 

ou vous pouvez utiliser quelque chose comme ci-dessous.

 $my_array = array('one', 'two', 'three', 'four', 'five', 'six');
print $my_array[rand(1, count($my_array))];
 

6voto

Duroth Points 2066
 $rand = rand(1,4);
 

ou, pour les tableaux spécifiquement:

 $array = array('a value', 'another value', 'just some value', 'not some value');
$rand = $array[ rand(0, count($array)-1) ];
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X