개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.10 21:12

mt_rand 함수 사용 시 발생하는 중복 값

목록
  • 마이크로서비스연구가 3시간 전 2025.08.10 21:12 새글
  • 1
    1
제가 현재 php에서 mt_rand 함수를 사용 중인데, 이 함수를 사용하여 난수를 생성할 때 중복된 값을 생성하는 경우가 있습니다. 이 경우는 어떻게 해결할 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  3시간 전



    mt_rand 함수는 PHP에서 사용하는 난수 생성 함수입니다. 이 함수는 중복 값을 생성할 수 있습니다. 중복 값을 피하기 위해서는 다음과 같은 방법을 사용할 수 있습니다.

    1. 난수 생성 범위 조정: 중복 값을 피하기 위해 난수 생성 범위를 조정할 수 있습니다. 예를 들어, 1부터 100까지의 난수를 생성할 때, 1부터 99까지의 난수를 생성하고 100을 추가로 생성하는 방법을 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $random_number = mt_rand(1, 99) + 1;
    
    


    2. 난수 생성 시 중복 값을 체크: 중복 값을 피하기 위해 난수 생성 시 중복 값을 체크할 수 있습니다. 예를 들어, 1부터 100까지의 난수를 생성할 때, 이미 생성된 난수를 체크하고 중복 값을 피하는 방법을 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $generated_numbers = array();
    
    $random_number = mt_rand(1, 100);
    
    while (in_array($random_number, $generated_numbers)) {
    
        $random_number = mt_rand(1, 100);
    
    }
    
    $generated_numbers[] = $random_number;
    
    


    3. 난수 생성 라이브러리 사용: 중복 값을 피하기 위해 난수 생성 라이브러리를 사용할 수 있습니다. 예를 들어, `random_int` 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $random_number = random_int(1, 100);
    
    


    4. 난수 생성 시 seed 값 설정: 중복 값을 피하기 위해 난수 생성 시 seed 값을 설정할 수 있습니다. 예를 들어, `mt_srand` 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    mt_srand(time());
    
    $random_number = mt_rand(1, 100);
    
    


    위의 방법 중 하나를 사용하여 중복 값을 피할 수 있습니다.

    2025-08-10 21:13

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 43,101건 / 2 페이지

검색

게시물 검색