我想随机化一部分对象数组。就像我有一个10个元素的数组,我想按随机顺序排序前5个条目,其他/最后5个条目将完全相同。有没有简单/有效的方法来做到这一点是PHP?感谢。
答案 0 :(得分:5)
$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);