帮助php随机随机数组

时间:2011-02-05 22:56:32

标签: php arrays random

我需要有关阵列问题的帮助,到目前为止我有这个:

$array1 = array('foo1', 'foo2', 'foo3', 'foo4', 'foo5');

$array2 = array('newfoo1', 'newfoo2', 'newfoo3', 'newfoo4', 'newfoo5');

$random1 = array_rand($array2);
$random2 = $array2[$random1];

foreach($array1 as $key){
 echo $key . '<br />';
 echo $random2 . '<br /><br />';
}

输出:

foo1
newfoo4

foo2
newfoo4

foo3
newfoo4

foo4
newfoo4

foo5
newfoo4

但我希望“newfoo4”(array2)是一个随机项,所以它会输出像这样的东西:

foo1
newfoo3

foo2
newfoo4

foo3
newfoo1

foo4
newfoo5

foo5
newfoo2

而不是相同,

也允许使用array2的副本,因此array1和array2不必在其数组中包含相同数量的项目....

所以例如,如果array1有5个项目,而数组2只有3个项目,那么最终结果输出可能是:

foo1
newfoo3

foo2
newfoo1

foo3
newfoo3

foo4
newfoo2

foo5
newfoo3

......我希望这对某人有意义......

3 个答案:

答案 0 :(得分:2)

$array1 = array('foo1', 'foo2', 'foo3', 'foo4', 'foo5');
$array2 = array('newfoo1', 'newfoo2', 'newfoo3', 'newfoo4', 'newfoo5');

foreach($array1 as $key){
    echo $key . '<br />';
    echo $array2[array_rand($array2)] . '<br /><br />';
}

答案 1 :(得分:0)

尝试放入此行

$random2 = $array2[array_rand($array2)];

进入foreach循环,如下所示:

foreach($array1 as $key){
    $random2 = $array2[array_rand($array2)];
    echo $key . '<br />';
    echo $random2 . '<br /><br />';
}

答案 2 :(得分:0)

这样的事情怎么样?

foreach($array1 as $key){
 $rand_num = rand(0, count($array2));
 echo $key . '<br />';
 echo $array2[$rand_num] . '<br /><br />';
}