按照 百分比,求概率 PHP
程序员文章站
2024-02-19 13:24:22
...
因为一次工程,需要用到按比例随机分配。我在百度能搜索:按照 百分比,求概率。结果都是一些比较混乱的代码。 找到一个看似能用的,大致看了一下,好像挺复杂的,仔细分析了一下代码,有很严重的Bug。 于是自己写一个了,拿出来分享一下吧,抛砖引玉
因为一次工程,需要用到按比例随机分配。我在百度能搜索:按照 百分比,求概率。结果都是一些比较混乱的代码。
找到一个看似能用的,大致看了一下,好像挺复杂的,仔细分析了一下代码,有很严重的Bug。
于是自己写一个了,拿出来分享一下吧,抛砖引玉啊。
php 版本的,当然 ,明白思路之后,别的语言的都很容易搞定。
假设 有四个选项:a 占 10%,b占20% ,C占30% , d 占 40% ,原理就是现获取随机数,然后找区间。
当然了,选项的数量可以任意。
目前默认是 总和是 100% 。如果需要别的数,修改 随机数的范围即可。
这个算法,比较简单,效率也还算高。
当然因为是 rand() ,所以产生的是伪随机数,不是真正意义上的随机,能凑合着用吧。
/* * ---a------b------------c---------d * 1----11---------30--------60---------100 * 百分比 概率选择 */ $data = array( 'a' => 10 , 'b' => 20 , 'c' => 30 , 'd' => 40 ); echo randomSelect( $data ); function randomSelect( &$array ){ $datas = $array ; if( !is_array($datas) || count($datas) == 0 ) return ; asort($datas); //按照大小排序 $random = rand(1,100); $sum = 0 ; $flag = ''; foreach($datas as $key => $data ){ $sum += $data ; if( $random原文地址:按照 百分比,求概率 PHP, 感谢原作者分享。
上一篇: PHP读取Excel文件类的具体应用
下一篇: PHP 编码规范(10)