红包生成器
git地址:github.com/pmw1014/hon…
这个是我自制的生成固定红包与随机红包,随机红包金额依据截断正态分布算法来生成。最近开发的项目需要做微信抢红包功能,网上找了一圈,没有合适的案例,于是索性自己写了一个。我这个的好处是:可以满足对随机红包个数及金额的范围可控性(这个非常重要)、生成的金额基本控制在中间值附近(提高可玩性)、简单易用。
下面是动图案例及代码例子
生成随机红包
require_once '../vendor/autoload.php';
use Hongbao\Hongbao;
/**
* 生成随机红包
*/
$options = [
'total_money' => 1000, // 总金额
'total_number' => 1000, // 总红包数量
'minimum_val' => 0.01, // 最小随机红包金额
'maximum_val' => 20, // 最大随机红包金额
];
//通过try catch获取可能出现的参数设置错误信息
try {
$hongbao = Hongbao::getInstance()->randomAmount($options);
foreach ($hongbao as $result) {
echo "<pre/>";
print_r($result);
}
} catch (\Exception $e) {
$error = $e->getMessage();
var_dump($error);
}
复制代码
生成固定红包
require_once '../vendor/autoload.php';
use Hongbao\Hongbao;
/**
* 生成固定红包
*/
$options = [
'total_money' => 1000, // 总金额
'total_number' => 1000, // 总红包数量
'val' => 0.01, // 单个红包金额
];
//通过try catch获取可能出现的参数设置错误信息
try {
$hongbao = Hongbao::getInstance()->fixedAmount($options);
foreach ($hongbao as $result) {
echo "<pre/>";
print_r($result);
}
} catch (\Exception $e) {
$error = $e->getMessage();
var_dump($error);
}
复制代码