2016-11-22 163 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

@Darren这是简单的吗?我试图在C#中构建一些我在C#中构建的东西,并且它在C#中的困难程度更大:) –

+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循环就像

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

注:你不需要洗牌数据存储到新的数组。