• 技术文章 >后端开发 >php教程

    PHP数组依照概率返回的算法

    2016-06-13 13:18:23原创535
    PHP数组按照概率返回的算法
    现在有一9键数组:
    $arr = array(1,2,3,4,5,6,7,8,9);
    我希望:
    1的返回概率是30%
    2的返回概率是20%
    3的返回概率是10%
    4的返回概率是50%
    其他的不管
    这样的算法怎么算呢


    ------解决方案--------------------
    这个意思么?

    $ConfigArr = array('30%', '20%', '10%', '50%');

    $arr = array(1,2,3,4,5,6,7,8,9);
    foreach ($arr as $key=>$val)
    echo isset($ConfigArr[$key]) ? $val.'概率是:' . $ConfigArr[$key] . '
    ': '';
    ------解决方案--------------------
    探讨

    这个意思么?

    $ConfigArr = array('30%', '20%', '10%', '50%');

    $arr = array(1,2,3,4,5,6,7,8,9);
    foreach ($arr as $key=>$val)
    echo isset($ConfigArr[$key]) ? $val.'概率是:' . $ConfigArr[$key] . '
    ':……

    ------解决方案--------------------
    探讨

    引用:

    这个意思么?

    $ConfigArr = array('30%', '20%', '10%', '50%');

    $arr = array(1,2,3,4,5,6,7,8,9);
    foreach ($arr as $key=>$val)
    echo isset($ConfigArr[$key]) ? $val.'概率是:' . $ConfigArr[$k……

    ------解决方案--------------------
    是不是 ,通过一个函数 返回 $arr = array(1,2,3,4,5,6,7,8,9); 中的数字;

    返回的楷率是:

    1的返回概率是30%
    2的返回概率是20%
    3的返回概率是10%
    4的返回概率是50%

    !
    是这样的吗?
    完全摸得想法啊?
    ------解决方案--------------------
    那就逐个随机,比如随机1-100个数。对1,<=30返回,再次随机,对2,<=20返回

    总之返回结果可能超过1个就对啦
    ------解决方案--------------------
    不是吧。。刚换件衣服不久,这么快被发现了……

    探讨
    我擦。。头像还会换衣服。


    ------解决方案--------------------
    同意amani11的想法。
    @#2 至于每个数是否被返回,完全是独立事件,为什么管它和是否大于100%呢?
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:ConfigArr array key arr val
    上一篇: php切割txt文档可以按KB切割吗,该怎么处理 下一篇: 请问个正则表达式
    千万级数据并发解决方案

    相关文章推荐

    • 实例详解怎么用PHP实现简易的MVC框架• 什么是php-fpm?如何进行优化来提升性能?• 消息队列RabbitMQ入门与PHP实例详解• PHP、Java des加密解密实例_PHP• php准确计算复活节日期的方法_PHP
    1/1

    PHP中文网