gpt4 book ai didi

PHP 选择数组项的时间百分比?

转载 作者:行者123 更新时间:2023-12-04 05:07:23 24 4
gpt4 key购买 nike

我试图找出一种方法,让特定的数组项在一定百分比的时间内被选中。所以让我们说:

$testArray = array('item1', 'item2', 'item3', 'item4', 'item5');

现在我将如何让 item1 选择让我们说 40% 的时间。我知道这可能真的很容易,但今天我似乎无法理解它。

最佳答案

使用这些百分比:

$chances = array(40,15,15,15,15);

在 1 到 100 之间选择一个随机数:
$rand = rand(1,100);

并选择相应的数组项:

| item1              | item2  | item3  | item4  | item5  |
0 40 55 70 85 100

$ref = 0;
foreach ($chances as $key => $chance) {
$ref += $chance;
if ($rand <= $ref) {
return $testArray[$key];
}
}

更通用的解决方案的可能改进:
  • 使用 array_sum()相反 100
  • 确保$chances具有与输入数组相同的键(即具有 array_keysarray_combine )
  • 关于PHP 选择数组项的时间百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15354509/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com