PHP - 来自数组的Rand值

时间:2017-05-31 21:05:53

标签: php

我有3个不同值的数组。

我从每个数组中选择一个随机值,然后将该值添加到另一个数组中。

由于某种原因,每次都会添加第一个数组的值!

 $targets = 3;
 $singles = array('1', '2', '3', '4');
 $doubles = array('Double 1', 'Double 2', 'Double 3', 'Double 4');
 $trebles = array('Treble 1', 'Treble 2', 'Treble 3', 'Treble 4');
 $tasks = array('Any Red', 'Any Green', 'Any Treble', 'Any Double');

 $game_card = array();

for($i=0; $i < $targets; $i++)
{
    $single_number = array_rand($singles);
    $game_card[] = $single_number;

    $double_number = array_rand($doubles);
    $game_card[] = $double_number;

    $treble_number = array_rand($trebles);
    $game_card[] = $treble_number;
}

1 个答案:

答案 0 :(得分:0)

array_rand()返回KEY而不是VALUE。而这里的关键只是索引,它恰好是一个整数,看起来像第一个数组的值。

所以你想要的是:

$single_number = array_rand($singles);
$game_card[] = $singles[$single_number];

$double_number = array_rand($doubles);
$game_card[] = $doubles[$double_number];

....