用php写一个百分比的触发概率,不用随机数
时间: 2023-07-18 11:03:38 浏览: 156
如果要实现一个固定的百分比概率,可以使用 PHP 的条件语句。例如,如果要实现一个 70% 的概率,可以生成一个 1-100 的随机数,如果随机数小于或等于 70,则触发事件,否则不触发。
以下是示例代码:
```php
$probability = 70; // 设定触发概率为 70%
$rand = mt_rand(1, 100); // 生成一个 1-100 的随机数
if ($rand <= $probability) {
// 在概率范围内,触发事件
echo "Event triggered!";
} else {
// 不在概率范围内,不触发事件
echo "Event not triggered.";
}
```
请注意,使用随机数实现概率是一种常见的方法,但并不是最为严谨的方法。在某些情况下,可能需要使用其他更加准确的概率计算方法,例如基于统计数据的概率推断等。
相关问题
用php写一个百分比的触发概率
以下是用 PHP 编写一个百分比触发概率的示例代码:
```php
// 设定触发概率为 75%
$triggerProbability = 75;
// 生成一个 0-99 的随机数
$randomNumber = rand(0, 99);
// 如果随机数小于触发概率,则触发事件
if ($randomNumber < $triggerProbability) {
// 在这里写下触发事件的代码
echo "事件已经触发!";
} else {
echo "事件未触发。";
}
```
在上面的代码中,我们首先设定了一个触发概率,然后使用 `rand()` 函数生成一个 0-99 的随机数,如果随机数小于触发概率,就会触发事件。你可以根据需要修改触发概率和触发事件的代码。
用php写一个百分比的触发概率,有保底次数和上限次数
以下是一个简单的 PHP 函数,可以实现百分比的触发概率,并且具有保底次数和上限次数的限制:
```php
function trigger_probability($percent, $min_count, $max_count) {
// 随机数生成器
mt_srand();
// 生成一个 0~99 的随机数
$random_num = mt_rand(0, 99);
// 如果随机数小于等于触发概率,返回 true
if ($random_num <= $percent) {
return true;
}
// 如果达到保底次数,返回 true
if ($min_count > 0) {
$min_count--;
return true;
}
// 如果达到上限次数,返回 false
if ($max_count <= 0) {
return false;
}
// 如果没有触发,且未达到保底次数和上限次数,继续尝试
$max_count--;
return trigger_probability($percent, $min_count, $max_count);
}
```
这个函数接受三个参数,分别是触发概率、保底次数和上限次数。函数内部首先使用 `mt_rand()` 函数生成一个 0~99 的随机数,然后判断这个随机数是否小于等于触发概率。如果是,函数返回 true,表示触发成功;否则,函数会判断是否达到了保底次数或上限次数,在保底次数内或未达到上限次数时继续尝试触发,否则返回 false,表示触发失败。
例如,调用 `trigger_probability(50, 3, 5)` 表示触发概率为 50%,保底次数为 3 次,上限次数为 5 次。函数会在最多尝试 5 次的情况下,保证触发成功至少 3 次。
阅读全文