[英]How to Combine two arrays randomly in PHP
如何將兩個數組合並為一個數組,我要求的方式是第三個組合數組應該包含一個數組中的一個值,而下一個數組應該包含其他數組等等。或者(它可以是隨機的)ex:
$arr1 = (1, 2, 3, 4, 5);
$arr2 = (10, 20, 30, 40, 50);
和組合陣列
$arr3 = (1, 10, 2, 20, 3, 30, ...);
如果它可以是隨機的,這將解決您的問題:
$merged = array_merge($arr1, $arr2);
shuffle($merged);
我還提供了一個有趣的功能,可以產生您在問題中的確切輸出。 無論兩個數組的大小如何,它都可以工作。
function FosMerge($arr1, $arr2) {
$res=array();
$arr1=array_reverse($arr1);
$arr2=array_reverse($arr2);
foreach ($arr1 as $a1) {
if (count($arr1)==0) {
break;
}
array_push($res, array_pop($arr1));
if (count($arr2)!=0) {
array_push($res, array_pop($arr2));
}
}
return array_merge($res, $arr2);
}
這將返回一個隨機數組:
$merged = array_merge($arr1,$arr2);
shuffle($merged);
sort($arr3 = array_merge($arr1, $arr2));
array_merge()
會將您的數組合並為一個。 sort()
將對組合數組進行排序。
如果你想隨機而不是排序:
shuffle($arr3 = array_merge($arr1, $arr2));
$arr3
包含您正在尋找的數組。
您可以使用
<?php
arr3 = array_merge ($arr1 , $arr2 );
print_r(arr3);
?>
將輸出
$arr3 = (1,2,3,4,5,10,20,30,40,50)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.