随机化PHP对象数组的一部分

时间:2013-06-25 17:53:14

标签: php arrays sorting random

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

2 个答案:

答案 0 :(得分: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))

答案 1 :(得分: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);