我需要随机重新排序数组,但我不确定最好/最干净/最快的方法是什么。
所以我想要实现的目标如下。假设我有一个看起来像这样的数组:
$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];
}
非常感谢任何可以帮助我的人:)
答案 0 :(得分:2)
使用shuffle()函数。
洗牌($阵列);
答案 1 :(得分: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>";
改组前一阵列&amp;再次检查输出。
shuffle($array);
print_r($array);
现在运行像
这样的foreach循环foreach($array as $item){
echo $item;
}
注意:您不需要将shuffle数据存储到新阵列。