[PHP] 랜덤 쿠폰번호 생성 함수
그누보드를 사용하는 사이트에서 쿠폰번호를 무작위로 생성할 때 사용하기 위해 만든 함수이다.
// 쿠폰번호 생성함수
function coupon_generator()
{
$len = 16;
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ123456789';
srand((double)microtime()*1000000);
$i = 0;
$str = ”;
while ($i < $len) {
$num = rand() % strlen($chars);
$tmp = substr($chars, $num, 1);
$str .= $tmp;
$i++;
}
$str = preg_replace('/([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})/', '\1-\2-\3-\4', $str);
return $str;
}
16자리의 쿠폰번호가 랜덤하게 생성되는데 위 함수만으로는 중복되지 않는다는 것을 보장할 수 없기 때문에 DB에 저장후 중복여부를 체크하는 부분도 추가를 해둔 상태이다. 43만건 정도 생성해봤는데 이상없이 작동한다.