数组合并递归静态随机



更新:我写了我的函数,它工作。

我自己的答案

<?php
function array_merge_recursive_random_static($first_array, $second_array, $key='')
{
    $merged_array = array_merge_recursive($first_array, $second_array);
    $arrays = &$merged_array;
    mt_srand(strlen($key)); 
    for ($i = count($arrays) - 1; $i > 0; $i--)
    { 
        $j = @mt_rand(0, $i); 
        $tmp = $arrays[$i]; 
        $arrays[$i] = $arrays[$j]; 
        $arrays[$j] = $tmp; 
    }
    return $arrays;
}
?>

我自己的问题:

我有两个这样的数组:

$array2 = array(
          0 => array('id' => 'dada', 'title' => 'this dada', 'desc' => 'dadaeating'),
          1 => array('id' => 'caca', 'title' => 'this caca', 'desc'=> 'caca eating') 
);
$array2 = array(
          0 => array('id' => 'baba', 'title' => 'this baba', 'desc' => 'baba eating'),
          1 => array('id' => 'memo', 'title' => 'this memo', 'desc'=> 'memo eating') 
);

我想合并$array1和$array2并使其静态随机唯一,所以我想要这样的结果:

$arrays = array(
          0 => array('id' => 'caca', 'title' => 'this caca', 'desc' => 'cacaeating'),
          2 => array('id' => 'memo', 'title' => 'this memo', 'desc'=> 'memo eating'),
          3 => array('id' => 'dada', 'title' => 'this dada', 'desc'=> 'dada eating'),
          4 => array('id' => 'baba', 'title' => 'this baba', 'desc'=> 'baba eating')
);

每次重新加载页面,输出的结果总是和上面的结果一样

只需合并数组,然后对生成的数组进行洗牌。

$rand = array_merge($array1, $array2);
shuffle($rand);

$rand现在包含了最终版本

最新更新