[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만건 정도 생성해봤는데 이상없이 작동한다.

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

카카오톡 플러스친구 채팅 : NCUBE.NET

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.