基于php实现随机合并数组并排序(原排序)
最近做了一个项目,其中有这样一个需求要实现,原有帖子列表A,现在需要在A中推广新业务B,那么需要在A列表中1:1混合B中的数据,随机混合,但是需要保持A和B两列原来的数据排序,具体详情请看下文。
原理
获知总共元素数量N;
for循环N次,取随机数;
根据随机数依次从头获取A或B的值,推入新数组中;
代码:
//随机合并两个数组元素,保持原有数据的排序不变(即各个数组的元素在合并后的数组中排序与自身原来一致)
functionshuffleMergeArray(){
$mergeArray=array();
$sum=count($array1)+count($array2);
for($k=$sum;$k>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;
}
示例:
合并前的数组:
$array1=array(1,2,3,4);
$array2=array('a','b','c','d','e');
合并后的数据:
$mergeArray=array( 0=>'a', 1=>1, 2=>'b', 3=>2, 4=>'c', 5=>'d', 6=>3, 7=>4, 8=>'e', )
php数组随机排序
<?php
$array=array('A','2','3','4','5','6','7','8','9','10','J','Q','K');
shuffle($array);//随机排序数组
print_r($array);//输出数组
?>热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短