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


randomize portion of an PHP object array

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

使用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))

您可以拆分一个,然后混洗一个,再组合它们。

$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);