시나리오
원본 게시물 목록 A, 이제 A에서 새로운 비즈니스 B를 홍보해야 하고 목록 A에서 B의 데이터를 1:1 비율로 무작위로 혼합해야 하지만 A와 B를 모두 유지해야 합니다. 목록의 원본 데이터가 정렬됩니다. 자세한 내용은 다음 예를 참조하세요.
원리
예:
<code>//随机合并两个数组元素,保持原有数据的排序不变(即各个数组的元素在合并后的数组中排序与自身原来一致) 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; }</code>
위에서 소개한 [알고리즘] PHP는 배열을 무작위로 병합하고 내용을 포함하여 원래 순서를 유지합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.
<code>合并前的数组: $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', )</code>