회원로그인

회원가입 정보찾기
포인트로 가상매매하실 수 있습니다.
코인 현재가 전일비 매매하기
BTC 85,488,000 ▼ 116,000 매매하기
ETH 4,767,000 ▼ 31,000 매매하기
ETC 33,350 ▼ 170 매매하기
XRP 668 ▼ 5 매매하기
BCH 539,500 ▼ 15,000 매매하기
QTUM 3,645 ▼ 58 매매하기
BTG 35,000 ▼ 380 매매하기
EOS 825 ▼ 10 매매하기
PHP

php 랜덤 rand

페이지 정보

  • 작성자 최고관리자
  • 작성일 17-05-08 16:29
  • 조회 4,649회
  • 댓글 0건

본문

난수 발생기를 만들어보려 합니다. 난수는 무작위 수... 즉 의미가 없는 숫자를 연속하여 만들어내는 것을 말합니다. 만약 이 난수를 만들려면 어떻게 해야할까요? 우리는 php 언어에서 난수를 만드는 방법을 알아보려합니다.

일단 임의의 수를 랜덤으로 생성하기 위해서 php의 함수를 사용해야합니다. php는 난수를 발생시키는 함수를 제공하며 두 가지의 함수가 존재합니다. 이는 다음과 같습니다.

rand()
mt_rand()


위에 보이시는 두개의 함수가 바로 php에는 난수 제공에 사용되는 rand() 그리고 mt_rand() 함수입니다. 이 함수를 사용하면 매우 간단하게 원하는 범위의 난수를 쉽게 생성할 수가 있죠. 아래는 사용방법입니다. (난수 발생시 어디서부터 어디까지... 즉 범위를 발생시킬 것인지도 중요하겠습니다.)



! php 임의의 수, 난수 발생하기 위한 방법 예제보기



$randomNum = mt_rand(최소값, 최대값)


위 코드는 난수 발생의 매우 간단한 방법입니다. 위 코드처럼 rand() 또는 mt_rand() 함수를 사용하여 원하는 범위의 최대값과 최소값을 넣어주면 됩니다. 참고로 위는 mt_rand()을 사용했습니다.

:+: mt_rand()은 rand()과 동일하게 난수를 발생시킵니다. 하지만 난수 발생의 차이가 있으며 이는 더 좋은 방법, 향상된 방법을 사용한다고 합니다. 예를들어 암호화를 시키는 방법도 SHA-12, SHA-256처럼 여러가지가 존재하는 것과 같은 이유라고 볼 수 있죠...

그럼 아래를 통해 더 실전적인 예제를 알아보겠습니다.


! php 난수 발생 실전 예제보기

# 1부터 10까지의 난수 발생 시키기 예제
다음은 1부터 10까지 임의의 수를 반환하는 난수 제조기를 만들어보려고 합니다. 매우 간단한 코드입니다.


<php
   $randomNum = mt_rand(1, 10);
   // 변수에 난수를 발생시키는 함수를 사용하여 반환값을 저장함

   echo $randomNum;
   // 저장된 변수의 값을 출력함
?>


이와 같이 실행할 경우 아래와 같이 값이 나올 것입니다.


3
// 실행 결과 3을 반환하였음


위 결과는 3입니다. 하지만 3이 아니라 1부터 10까지의 어떤 값이든 숫자 타입의 값이 반환될 것입니다. 매우 간단한 방법으로 원하는 난수를 생성할 수 있었습니다. 그렇다면 다른 예제를 아래에서 확인해보세요.


# 1부터 10000까지의 난수 발생시키기

이번에는 범위를 조금 넓여 난수를 만들어보려합니다. 아래는 난수의 범위가 1부터 10,000까지 이므로 매우 넓은 폭의 난수를 만들 것입니다. 그럼 코드를 보세요.

<?php
   $randomNum = mt_rand(1, 10000);
   // 변수에 함수를 통해 생성된 난수를 저장함
   
   echo $randomNum;
   // 변수에 저장된 값인 1 부터 10,000사이의 난수를 출력함
?>

이를 실행할 경우의 결과는 아래와 같습니다.



 9999
// 결과로 난수값 9999를 출력하였음


결과는 9999이나 1부터 10000까지 어떠한 값이든 난수로 만들 수 있습니다.


# 난수 발생이 왜 중요할까요?
난수 발생의 함수가 여러개인 이유는 그 만큼 난수 발생이 중요하고 필요하다는 점입니다. 예를들어 간단한 방법을 통해 프로그래밍된 난수를 생각해보겠습니다. 난수라고하나 우리는 그것이 어떤 알고리즘... 로직을 통해 만들어졌다는 것을 알 수 있고 난수를 만드는 방법을 거꾸로 올라가면 결국 이를 예측 가능한 프로그램 역시 만들 수 있기 때문입니다.

결국 난수가 진정한 난수가 되기 위해서는 매우 복잡한 과정을 거친 난수가 좋은 난수일 것입니다.


# 난수 발생은 언제 필요할까요?
여러가지가 필요하겠으나 가위바위보 처럼 컴퓨터가 의도하지 않은 결과를 반환하게 만들기 위해 필요할 수 있습니다.
또한 파일을 저장할때... 중복된 파일이 생성되지 않도록 하기 위해서는 무의미한 접두어가 필요할 수 있습니다. 이 경우 난수를 사용하면 매우 간단하게 서로 다른 파일이름을 만들 수 있습니다. 이는 CMS같은 시스템을 사용하는 경우 많이 볼 수 있을 것입니다.

포인트 선물 선물명단 선물하기

최소 50P ~ 최대 300P 까지 가능합니다.
선물하기 수수료는 10P 입니다.
로그인 후 선물하실 수 있습니다.

선물 받은 내용이 없습니다.

댓글목록

등록된 댓글이 없습니다.