2016-11-22 10 views
0

配列をランダムに並べ替える必要がありますが、これを行うにはベスト/クリーン/最速の方法が何であるかわかりません。PHPはランダムに配列を並べ替えます

私が達成しようとしているのは、以下のとおりです。のは、私はこのようになります配列を持っているとしましょう:

$array = array(4, 4, 4, 4, 6, 6, 6, 6, 8, 8, 10, 10, 20, 40, 60); 

私の目標は、このようなものの、ランダムに何かを得ることです:

$array = array(6, 4, 4, 10, 4, 6, 4, 6, 60, 6, 8, 6, 10, 40, 8, 20); 

ここで私がしようとしてきたものだが、それはいないようです意図したとおりに機能する:

$array = array(4, 4, 4, 4, 6, 6, 6, 6, 8, 8, 10, 10, 20, 40, 60); 
$newArray = array(); 

$randomNumber = rand(0 , 14); 

for ($x = 0; $x <= 15; $x++) { 
    $newArray[$x] = $array[$randomNumber]; 
} 

事前に多くのおかげで私を助けることができる誰にも:)

+5

['shuffle($ array)'](http://php.net/shuffle)。 – Darren

+0

@ダーレンそれは簡単ですか?私はC#で構築したPHPで何かを構築しようとしていますが、C#lolではもっと難しかったです:) –

+0

母は実際にその関数を実行するだけで、現在の配列をシャッフルします:) – Darren

答えて

2
$array = array(4, 4, 4, 4, 6, 6, 6, 6, 8, 8, 10, 10, 20, 40, 60); 

再び以前の配列&チェック出力をシャッフル前の配列

echo "<pre>"; 
print_r($array); 
echo "</pre>"; 

の出力を確認してください。

shuffle($array); 
print_r($array); 

今すぐ

foreach($array as $item){ 
    echo $item; 
} 

ノートのようにforeachループを実行します。新しい配列にシャッフルデータを保存する必要はありません。

関連する問題