2016-11-22 3 views
0

Ich muss ein Array zufällig neu anordnen, aber ich bin mir nicht sicher, was der beste/sauberste/schnellste Weg ist, dies zu tun.PHP reorder ein Array nach dem Zufallsprinzip

Also was ich versuche zu erreichen, ist das Folgende. Lassen Sie uns sagen, dass ich ein Array haben, die wie folgt aussieht:

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

Mein Ziel ist es so etwas wie dieses, aber zufällig zu bekommen:

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

Hier ist, was ich habe versucht, aber es scheint nicht, arbeitet nun wie vorgesehen werden:

$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]; 
} 

Vielen dank im Voraus für jeden, der mir kann :) helfen

+5

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

+0

@Darren Ist es so einfach? Ich versuche etwas in PHP zu bauen, das ich in C# gebaut habe und es war viel schwieriger in C# lol :) –

+0

Haha es ist in der Tat, Sie einfach diese Funktion ausführen und es wird das aktuelle Array mischen :) – Darren

Antwort

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

die Ausgabe des vorherigen Array erneut prüfen

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

vorherigen Array & Kontrollausgang Shuffling.

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

nun eine foreach-Schleife laufen wie

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

Hinweis: Sie müssen keine Shuffle Daten auf neue Array zu speichern.

Verwandte Themen