美文网首页
按照概率得到数组下标

按照概率得到数组下标

作者: Alex80 | 来源:发表于2020-07-27 15:13 被阅读0次

$proArr = [

        1=>'20',//设置得到下标1的概率是20%

        2=>'20',

        3=>'20',

        4=>'0',

        5=>'20',

        6=>'20',

        7=>'0',

        8=>'0',

        9=>'0',

        10=>'0',

    ];

    public static function get_rand($proArr) {//按照概率返回数组的下标

        $result = '';

        //概率数组的总概率精度

        $proSum = array_sum($proArr);

        //概率数组循环

        foreach ($proArr as $key => $proCur) {

            $randNum = mt_rand(1, $proSum);

            if ($randNum <= $proCur) {

                $result = $key;

                break;

            } else {

                $proSum -= $proCur;

            }

        }

        unset ($proArr);

        return $result;

    }

相关文章

  • 按照概率得到数组下标

    $proArr = [ 1=>'20',//设置得到下标1的概率是20% 2=>'20', ...

  • C++运算符重载2

    说明 继续上面的内容要求: 按照数组下标由小到大,数组下标运算符按照次序分别返回圆心x坐标,圆心y坐标,圆的半径。...

  • OC(三)数组

    数组:按照顺序排列的元素的集体 数组取值:数组是通过下标(索引)去取值 NSArray(数组类名)数组 在OC里面...

  • 找出字符串中出现最多的字符和次数

    可以将字符作为数组的下标,通过遍历数组,得到最多的字符和次数

  • Array

    package array; /** 数组的插入、删除、按照下标随机访问操作; 2)数组中的数据是int类型的;*...

  • 数组、集合与序列

    数组 如:使用构造函数 lambda 得到的参数为当前下标,返回值是当前下标对应的元素。 使用 Array<> 创...

  • js数组

    数组 什么是数组 数组就是按照次序排列的一组值,每个值都有自己的下标:var arr =[1,2,3]数组里面的值...

  • HashMap 哈希表

    key value. value 由一堆数组进行存储,按照下标读取值。 array[ f(key)]...

  • 第十讲 常用de数据结构

    数组 数组长度不可变查询性能高,按照下标直接查找 List 长度可变插入删除性能高,链式查找 Map、Set 键值...

  • iOS 数组使用:replaceObjectAtIndex:越界

    可能存在问题: 使用的数组下标超出数组最大下标值:比如数组长度count, index的下标范围[0, count...

网友评论

      本文标题:按照概率得到数组下标

      本文链接:https://www.haomeiwen.com/subject/epmzlktx.html