<?php /* *算法学习自百度.只是学习和记录 */ header("Content-type:text/html;charset=utf-8"); //1.设置奖项,id是奖项id,name是中奖名称,v是中奖概率 $arr = array( array('id' => 1, 'name' => '特等奖', 'v' => 1), array('id' => 2, 'name' => '一等奖', 'v' => 10), array('id' => 3, 'name' => '二等奖', 'v' => 10), array('id' => 4, 'name' => '三等奖', 'v' => 10), array('id' => 5, 'name' => '四等奖', 'v' => 20), array('id' => 6, 'name' => '未中奖', 'v' => 50) ); //2.计算改路综合并抽奖 function getrand($pro) { $result = array(); //循环奖项数组将原概率保存在新的数组 foreach ($pro as $key => $value) { $arr[$key] = $value['v']; } asort($arr); //计算概率总数 $prosum = array_sum($arr); //从刚才创建的概率数组循环 foreach ($arr as $key => $value) { $randNum = mt_rand(1, $prosum); //生成一个随机数(1-总概率) //当前用户生成的随机数小于或者等于就是中奖 if ($randNum <= $value) { $result = $pro[$key]; break; } //当前用户生成的随机数大于奖项的概率,这个奖项错过.同时从总的概率中去除本奖项的概率 else { $prosum -= $value; } } //返回中奖结果 return $result; } //测试执行 $res = getrand($arr); print_r($res); ?>
首先下载wkhtmltox-0.12.4_linux-generic-amd64.tar.xz (不要下载RPM包,依赖太多,需要x-server支持),并解压,执行测试运行正常tar wkhtmltox-0.12.4_linux-generic-amd64.tar.xzcd...
(1).config.php 配置文件<?php /** * RabbitMQ_Config */ $config = [ 'host' => ...
(1).在PHP中可以查看的环境变量包括: (1.1).电脑环境变量 (2.1).服务器环境变量(2).getenv()函数获取一个环境变量的值.参数1是环境变量的key,参数2值为true的时候仅从你的电脑环境变量中查找,参数2值为false会从两种变量中全部查询//获取我电脑登录的用户名,输出A...
(1).今天遇到一件奇怪的事情,在event事件中是无法自定义异常处理,例如我们使用set_exception_handler来统一处理异常。例如下面的代码:<?php error_reporting(E_ALL); set_error_handler(function ($errn...
pear config-set http_proxy 47.94.200.124:3128 pecl config-set http_proxy 60.216.101.46:32868家里的长城宽带什么都上不去,安装php扩展真麻烦,使用网...
在编写thinkphp常驻内存的命令行应用中我们需要保证数据库连接不会断开,保证断开还能重新连接,因此大部分人的方案是直接修改tp的数据库配置文件database.php// 开启断线重连 'break_reconnect' => true,通常...