- implode: documentation ( source)
- in_array: documentation ( source)
<?php
// 請代入本平台提供的 hash 值並填入在單引號內
$txid = '799746d145f88f3d5514b40844e076cf1bcde7d1b167993a26ac7a641446e85d';
// 總共幾個大賞
$prize_count = 13;
// 總共幾個籤數
$tag_count = 350;
$dec = gmp_init($txid, 16);
$prize_tmp = [];
$prize_tmp_count = 0;
$step_tmp = 100;
$step = 1;
$max_count = 100;
try {
while ($step <= $max_count) {
$powResult = gmp_pow($step_tmp, $step);
$div = gmp_div_q($dec, $powResult);
$mod = gmp_mod($div, $tag_count);
$prize_number = (int)gmp_strval($mod) + 1;
if (!in_array($prize_number, $prize_tmp)) {
$prize_tmp[] = $prize_number;
$prize_tmp_count++;
}
if ($prize_tmp_count >= $prize_count) {
break;
}
$step++;
}
echo implode(', ', $prize_tmp);
} catch (\Exception $e) {
echo $e->getMessage();
}