[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에 저장된 쿠폰번호와 비교해서 중복 체크후 중복되면 재 생성하는 등의

기능이 좋을 것 같다. 근데 지금은 테스트 단계이므로 그것까지는 작업은 안했고 아마도 조만간 해야하지 않을까?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.