php 按照百分比决定出现次数,写个完整列子
时间: 2024-09-26 10:15:25 浏览: 20
在 PHP 中,如果你想按照某个百分比随机决定一个元素出现的次数,你可以创建一个数组,然后利用 `array_rand()` 函数结合随机数生成来实现。下面是一个简单的例子:
```php
<?php
// 定义数组,假设我们有一个包含五种颜色的数组
$colors = ['红色', '蓝色', '绿色', '黄色', '紫色'];
// 设置总次数(比如10次),以及每个颜色的百分比概率
$total_times = 10;
$pcentages = [
'红色' => 20, // 红色占20%
'蓝色' => 30, // 蓝色占30%
'绿色' => 25, // 绿色占25%
'黄色' => 10, // 黄色占10%
'紫色' => 15, // 紫色占15%
];
// 计算每个颜色实际出现的次数
$actual_frequencies = array_map(function ($percentage, $color) use (&$total_times) {
return floor($percentage / 100 * $total_times);
}, array_values($percentages), array_keys($percentages));
// 遍历并按频率决定每个颜色出现的次数
foreach ($colors as $index => $color) {
for ($i = 0; $i < $actual_frequencies[$index]; $i++) {
echo "$color\n";
}
}
?>