最近做了一个项目,其中有这样一个需求要实现,原有帖子列表A,现在需要在A中推广新业务B,那么需要在A列表中1:1混合B中的数据,随机混合,但是需要保持A和B两列原来的数据排序,具体详情请看下文。
原理
获知总共元素数量N; for循环N次,取随机数; 根据随机数依次从头获取A或B的值,推入新数组中;
代码:
0; $k--) {
$number = mt_rand(1,2);
if ($number == 1) {
$mergeArray[] = $array2 ? array_shift($array2) : array_shift($array1);
} else {
$mergeArray[] = $array1 ? array_shift($array1) : array_shift($array2);
}
}
return $mergeArray;
}
示例:
合并前的数组:
合并后的数据:
'a',1 => 1,2 => 'b',3 => 2,4 => 'c',5 => 'd',6 => 3,7 => 4,8 => 'e',)
PHP;">