在 foreach 中的第 3 个元素之后随机排列数组? PHP

Shuffle array after 3rd element in foreach ? PHP

我需要在第 3 个元素之后随机播放 $items。

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

我的是代码:

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


在 Whosebug 或 google.
中找不到任何解决方案 我怎样才能做到这一点 ?


提前致谢。

我们可以得到前 3 个元素,然后打乱其他元素。

$items = range(1, 10);
for (var $i = 0; $i < 3; $i++) {
   $aRes[] = array_shift($items); 
}
shuffle($items);
foreach($items as $v) {
   $aRes[] = $v;
}

将数组分成两部分,并在混音后合并它们。

编辑;我现在使用 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