我需要在第三个元素之后洗牌 $items。

结果应该是:
1 2 3 6 7 9 8 5 4

我的是代码:

<?php
    $items= range(1, 10); shuffle($items); foreach($items as $v):
?>
   ...
<?php
  endforeach;
?>

在 stackoverflow 或 google 中找不到任何解决方案。
我怎样才能做到这一点 ?
提前致谢。

最佳答案

将数组分成两部分并在 suffle 后合并它们。

编辑;我现在使用 array_splice 将数组拆分为 3 并将剩余的洗牌,然后合并它们。

$items = range(1,10);
$items1= array_splice($items, 0,3);
shuffle($items);

$result = array_merge($items1, $items);
Var_dump($result);

https://3v4l.org/iUQ1m

关于php - 在 foreach 中的第三个元素之后随机排列数组? PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45650154/

10-16 20:24