例:

WBOY
WBOYオリジナル
2016-06-13 12:27:45879ブラウズ

[アルゴリズム] PHP は配列をランダムにマージし、元の順序を維持します

シナリオ

元の投稿リスト A と、A で新しいビジネス B を宣伝する必要がある場合、それを混合する必要があります 1:リスト A の 1 B のデータはランダムに混合されますが、2 つのリスト A と B の元のデータ順序は維持される必要があります。詳細については、次の例を参照してください。

原理

  1. 要素の総数 N を取得します。
  2. を N 回繰り返し、最初から A を取得します。または、B の値に基づいて、新しい配列にプッシュします。
  3. 例:

<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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。