国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

基于php實現隨機合并數組并排序(原排序)

2024-05-04 23:40:34
字體:
來源:轉載
供稿:網友
最近做了一個項目,其中有這樣一個需求要實現,原有帖子列表A,現在需要在A中推廣新業務B,那么需要在A列表中1:1混合B中的數據,隨機混合,但是需要保持A和B兩列原來的數據排序,本篇文章給大家介紹基于php實現隨機合并數組并排序(原排序),需要的朋友參考下
 

最近做了一個項目,其中有這樣一個需求要實現,原有帖子列表A,現在需要在A中推廣新業務B,那么需要在A列表中1:1混合B中的數據,隨機混合,但是需要保持A和B兩列原來的數據排序,具體詳情請看下文。

原理

獲知總共元素數量N;
for循環N次,取隨機數;
根據隨機數依次從頭獲取A或B的值,推入新數組中;

代碼:

//隨機合并兩個數組元素,保持原有數據的排序不變(即各個數組的元素在合并后的數組中排序與自身原來一致)function shuffleMergeArray() {  $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);                    //輸出數組 ?> 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潜山县| 凤冈县| 大化| 泌阳县| 古丈县| 嫩江县| 罗江县| 云浮市| 玛纳斯县| 乌苏市| 建昌县| 芮城县| 兴宁市| 平舆县| 铜鼓县| 双柏县| 新丰县| 齐齐哈尔市| 绿春县| 长丰县| 工布江达县| 滨州市| 靖远县| 东兰县| 沧源| 抚顺市| 绥中县| 大丰市| 偏关县| 大化| 新安县| 东至县| 玉田县| 武山县| 天门市| 镇宁| 台东市| 凤台县| 清河县| 屏南县| 新民市|