PHP使用rand在特定数字之间进行选择

PHP使用rand在特定数字之间进行选择,php,Php,我知道兰德(1,10);将生成一个介于1和30之间的随机数 我该如何编写代码,从一组数字中选择一个随机数,比如1、7、8和9 可能吗 我非常确定rand设置为只生成范围内的数字?您可以创建所需的自定义数组,洗牌并获取第一个值 $temp = [1,7,8,9]; shuffle($temp); echo $temp[0]; -洗牌一个数组 您可以将您的数字组放入一个数组中,然后使用或选择其中一个。例如: $nums = array(1, 7, 8, 9); $key = array_rand(

我知道兰德(1,10);将生成一个介于1和30之间的随机数

我该如何编写代码,从一组数字中选择一个随机数,比如1、7、8和9

可能吗


我非常确定rand设置为只生成范围内的数字?

您可以创建所需的自定义数组,洗牌并获取第一个值

$temp = [1,7,8,9];
shuffle($temp);
echo $temp[0];
-洗牌一个数组


您可以将您的数字组放入一个数组中,然后使用或选择其中一个。例如:

$nums = array(1, 7, 8, 9);
$key = array_rand($nums);
echo $nums[$key] . PHP_EOL;

shuffle($nums);
echo $nums[0] . PHP_EOL;
$result = SelectElementByRandom(array(1,7,8,9));

首先,
rand(1,10)
将生成一个介于
1到10之间的数字,而不是
1到30之间的数字

从一组数字中,可以生成这样的结果

$numbers = [1,7,8,9];
echo $numbers[rand(0,3)]

我会这样做。创建一个循环,用您要查找的范围内的随机数(您的数字组)填充数组。然后,在该数组中选择一个随机索引,它是一组数字中的随机数

$min = 0;
$max = 10;
$group_size = 5;
$rand_group = array();
for($i = 0; $i < $group_size; $i++) {
    $rand_group[$i] = rand($min,$max);
}

echo $rand_group[rand($min,$max)];
$min=0;
$max=10;
$group_size=5;
$rand_group=array();
对于($i=0;$i<$group_size;$i++){
$rand_group[$i]=兰特($min,$max);
}
echo$rand_group[兰特($min,$max)];
使用此函数(或内联代码)

?:
运算符确保结果(NULL),即使列表为空

举个例子:

$nums = array(1, 7, 8, 9);
$key = array_rand($nums);
echo $nums[$key] . PHP_EOL;

shuffle($nums);
echo $nums[0] . PHP_EOL;
$result = SelectElementByRandom(array(1,7,8,9));

将数字放在一个数组中,使用随机数生成一个索引来选择,例如生成一个随机数1-4这些答案中的一个能解决你的问题吗?如果没有,你能提供更多的信息来帮助回答这个问题吗?否则,请考虑将最能解决你的问题的答案标记为(在上/下投票箭头下的复选标记)。看见