본문 바로가기

코딩/PHP

php 중복되지 않는 문자열 생성

728x90
반응형
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

function generateUniqueRandomCode($length = 10, $existing_codes = array()) {
    $unique_code = generateRandomString($length);
    while (in_array($unique_code, $existing_codes)) {
        $unique_code = generateRandomString($length);
    }
    return $unique_code;
}

 

 

이 함수는 generateRandomString() 함수를 사용하여 랜덤 문자열을 생성하고, 이를 generateUniqueRandomCode() 함수에서 사용하여 중복되지 않는 랜덤 코드를 생성합니다. generateUniqueRandomCode() 함수는 이미 생성된 코드를 매개변수 $existing_codes에 배열 형태로 전달하면, 이전에 생성된 코드와 중복되지 않는 새로운 코드를 반환합니다. 이 함수를 사용하여 중복되지 않는 랜덤 코드를 생성할 수 있습니다.

예를 들어, 아래와 같이 함수를 호출하여 10자리의 중복되지 않는 랜덤 코드를 생성할 수 있습니다.

 

$existing_codes = array('ABCD1234', 'EFGH5678', 'IJKL9012');
$random_code = generateUniqueRandomCode(10, $existing_codes);
echo $random_code; // 예: XWYZ4567

 

728x90
반응형