0

我想随机化对象数组的一部分。就像我有一个包含 10 个元素的数组,我想以随机顺序对前 5 个条目进行排序,其中其他/最后 5 个条目将完全相同。有没有简单/有效的方法来做到这一点是PHP?谢谢。

4

2 回答 2

5

使用array_sliceshuffle

$array = array_pad(array(), 10, ""); // 10 elements

$first = array_slice($array, 0, 5);
shuffle($first); // can't shuffle inline so do it like this
$array = array_merge($first, array_slice($array, 5, 5))
于 2013-06-25T17:55:23.187 回答
1

您可以拆分,然后洗牌,然后组合它们。

$myArr = ['a', 'b', 'c', 'd', 'e', 'f'];
$randArr = array_slice($myArr, 0, 3);
shuffle($randArr);
$staticArr = array_slice($myArr, 3);

$finalArr = array_merge($randArr, $staticArr);
于 2013-06-25T18:00:54.530 回答