1

配列からランダムな値を取得するために静的な長さを取得したい。

PHPコード:

この以下のコードでは、配列から5つのランダムな値を取得する方法を教えてください。

$arr_history = array(23, 44,24,1,345,24,345,34,4,35,325,34,45,6457,57,12);
$lenght=5;
for ( $i = 1; $i < $lenght; $i++ )
     echo array_rand($arr_history);
4

2 に答える 2

2

を使用array_rand()して 5 つのランダム キーを選択し、それらを使用して配列キーと交差させることができます。これにより、元の配列がそのまま保持されます。

$values = array_intersect_key($arr_history, array_flip(array_rand($arr_history, 5)));

デモ

または、最初に配列をその場でシャッフルしてから、最初または最後の 5 つのエントリを取り出すことができます。

shuffle($arr_history);
$values = array_slice($arr_history, -5);

これには、重複することなく連続して複数のセットを取り出すことができるという利点があります。

于 2013-02-20T10:23:01.540 に答える
0

これを試して :

$rand_value = array_rand($arr_history);

echo $rand_value;

参照: http://php.net/manual/en/function.array-rand.php

または使用:

shuffle($arr_history)

これにより、配列の順序がシャッフルされます: http://php.net/manual/en/function.shuffle.php

于 2013-02-20T10:20:18.790 に答える