<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="汇总PHP概率计算函数（抽奖、抽随机数）" id="card1">
<p> 游客</p><p>
标题:汇总PHP概率计算函数（抽奖、抽随机数）<br/>
正文:<br/>
简单的和大家分享一下计算概率的方法，会的人不屑看，不会的人自已动动脑子也想到了。但是看着自已的博客已经这么久没更，真心疼~。粗略算下一篇只有代码的水文，会占用OSC至少十几KB的数据库空间呢，但是，一想到乱弹里的然并卵，也就释然了。&amp;lt;?php /** * 概率计算类 * 可用于抽奖等 */class Probability{  /**   * 概率统计数据   * thing =&amp;gt; chance   */  var $data = array();  var $chance_count = 0;   function __construct($initdata = array()){    if(!empty($initdata)){      $this-&amp;gt;data = $initdata;      foreach($initdata as $d){        $this-&amp;gt;chance_count += $d['num'];      }    }  }   function addData($name, $chance){    $this-&amp;gt;data[]=array('name'=&amp;gt;$name, 'num'=&amp;gt;$chance);    $this-&amp;gt;chance_count += $chance;  }   function getOne(){    $index = rand(0, $this-&amp;gt;chance_count);    foreach($this-&amp;gt;data as $d){      $index = $index-$d['num'];      if($index&amp;lt;=0){        return $d['name'];      }    }    return '';  }}  /** * 使用示例 */$pro=new Probability();$pro-&amp;gt;addData('iphone',10);$pro-&amp;gt;addData('watch',30);$pro-&amp;gt;addData('$18',50);$pro-&amp;gt;addData('thank you',10);$pro-&amp;gt;addData('super big',1);for($i=0;<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2187&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2187&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2187&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2187&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2187&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2187">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2187">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>