更新:我已经编写了我的功能,但它确实有效。
我自己的答案
<?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')
);
每次我重新加载页面时,输出结果总是像上面的结果一样。
答案 0 :(得分:2)
只需合并数组,然后随机播放生成的数组。
$rand = array_merge($array1, $array2);
shuffle($rand);
$ rand现在包含最终版本。