zoukankan      html  css  js  c++  java
  • 面试题 php随机获取概率结果

    题目:随机输出“苹果”,“橘子”,“香蕉”要求输出“苹果”的概率为50%,“橘子”的概率为30%,“香蕉”的概率为20%

    分析 

    方案一:

    最常用rand(1,10)来处理 如果是5以下的输出苹果 6到8的输出橘子 9到10的输出香蕉

    <?php
    $arr = array('苹果','橘子','香蕉');
    $i = mt_rand(1,10);
    if($i<=5){
    echo $arr[0];
    }else if($i>=9){
    echo $arr[1];
    }else{
    echo $arr[2];
    }

    然而这样是很不科学的 因为rand实在是太不靠谱了

    方案二:

    array_rand来处理

    <?php
    $arr = array('苹果','苹果','苹果','苹果','苹果','橘子','橘子','橘子','香蕉','香蕉');
    $key=array_rand($arr);
    echo $arr[$key];
    ?>

    这真的靠谱吗?不敢恭维

    方案三:

    str_shuffle来处理

    <?php
    $array=array('1'=>'苹果','2'=>'橘子','3'=>'香蕉');
    $string="1111122233";
    $key=str_shuffle($string);
    echo $array[$key{0}];
    ?>

    貌似我觉得这个最靠谱

     

  • 相关阅读:
    @SpringBootApplication注解的理解
    git详解
    什么是maven?
    redis发布订阅实战
    报文示例
    Cisco的ACI究竟是什么?它和SDN有关系吗?
    IP数据包分析
    ARP数据包分析
    水冷精密空调工作原理
    风冷精密空调工作原理
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/4437047.html
Copyright © 2011-2022 走看看