[PHP] 쿠폰번호 생성 함수
진행 중인 작업때문에 숫자와 영문으로 이루어진 16자리 쿠폰번호 생성 함수가 필요해서 만들어봤다.
function get_coupon(){
$len=16;
$string = “ABCDEFGHIJKLMNOPQRSTUVXYZ0123456789”;
srand((double)microtime()*1000000);$length = strlen($string);
for($i=0;$i<$len;$i++)
{
$pos = rand(0, $length-1); //0에서 $string 길이 사이의 난수를 구한다
$str .= substr( $string, $pos, 1 );
}$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;
}
만약 여기에 기능을 더 추가한다면 DB에 저장된 쿠폰번호와 비교해서 중복 체크후 중복되면 재 생성하는 등의
기능이 좋을 것 같다. 근데 지금은 테스트 단계이므로 그것까지는 작업은 안했고 아마도 조만간 해야하지 않을까?