News新闻

业界新闻动态、技术前沿
Who are we?

您的位置:首页      乐道系统FAQ      PHP实现活动人选抽奖功能

PHP实现活动人选抽奖功能

发布日期:2017-04-19 00:00:00 69

本文介绍情景为活动人选抽奖,通过简单随机抽取指定人数,依次列举被抽中的人名。示例代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>活动人选</title>
  </head>
  <body>
  <?php
  $lotterPeopleArr = array();
  $num = 8;

  for($i=0;$i<$num;$i++){
    $lotterPeople = GetRandStr(1);

    while(in_array($lotterPeople, $lotterPeopleArr)){
      $lotterPeople = GetRandStr(1);
    }

    $lotterPeopleArr[$i] = $lotterPeople;
    echo "抽中人:". $lotterPeopleArr[$i].'<br/>';
  }

  // echo '抽中人:'. $lotterPeople;



  /**
   * 生成随机数
   * $type int 默认(字母&&数字) 1 纯字母 2.纯数字 3.英文单词
   */
   function GetRandStr($len='4',$type='3')
  {


    switch($type)
    {
      case '1';
      $chars = array(
          "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
          "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
          "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
          "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
          "S", "T", "U", "V", "W", "X", "Y", "Z"
      );
      break;
      case '2';
      $chars = array(
          "0", "1", "2",
          "3", "4", "5", "6", "7", "8", "9"
      );
      break;
      case '3';
      $chars = array(
          "小华","小冠","小王","小吴","小朱","小何","小陈","小熊","小斌","小李","小春","小超","小张","小郭","小柯","小梁","小理","小龚","小杰","小余","小洪","小郑","小志","小潘",
      );
      break;
      default;
      $chars = array(
          "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
          "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
          "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
          "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
          "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
          "3", "4", "5", "6", "7", "8", "9"
      );
      break;
    }
    $charsLen = count($chars) - 1;
    shuffle($chars);
    $output = "";
    for ($i=0; $i<$len; $i++)
    {
    $output .= $chars[mt_rand(0, $charsLen)];
    }
    return $output;
  }
  ?>
  </body>
</html>