Saturday, April 21, 2007
PHP 프로그래밍] 랜덤 정수 난수 발생, 1에서 10까지 생성, Random Rand int
mt_rand() 또는 rand() 함수로, 랜덤한 난수를 출력할 수 있는데, mt_rand() 함수가 더 좋습니다.
mt_rand() 는 0에서 2147483647 까지의 정수 난수를 출력할 수 있고,
rand() 는 고작 32767 까지의 난수만을 출력할 수 있습니다.
그 이유 외에도 mt_rand() 함수가 더 고급 알고리즘으로 난수를 구하기 때문에, mt_rand() 를 사용하는 것이 좋습니다.
파일명: example.php
(※ 스크롤 박스 사용법: 박스 안을 마우스로 클릭한 후, 키보드의 좌우 화살표키를 누르면 양옆으로 움직일 수 있습니다. 박스에서 다시 나오려면, 박스 바깥의 아무곳이나 클릭하면 됩니다.)
실행 결과 화면:
php example.php > out.html
이렇게 하면 출력 결과가, out.html 이라는 파일로 저장됩니다.
▶▶ PHP 프로그래밍] 실수 랜덤 난수 생성 0에서 1까지 출력, Float Random Rand
mt_rand() 는 0에서 2147483647 까지의 정수 난수를 출력할 수 있고,
rand() 는 고작 32767 까지의 난수만을 출력할 수 있습니다.
그 이유 외에도 mt_rand() 함수가 더 고급 알고리즘으로 난수를 구하기 때문에, mt_rand() 를 사용하는 것이 좋습니다.
PHP에서, 정수 숫자 난수 구하기 예제
파일명: example.php
(※ 스크롤 박스 사용법: 박스 안을 마우스로 클릭한 후, 키보드의 좌우 화살표키를 누르면 양옆으로 움직일 수 있습니다. 박스에서 다시 나오려면, 박스 바깥의 아무곳이나 클릭하면 됩니다.)
<html>
<head>
<title>PHP Example</title>
</head>
<body>
<?php
echo "[ 0에서 RAND_MAX(2147483647)까지의 정수 난수 5개 출력 ]<br />\n";
for ($i = 0; $i < 5; $i++) {
$result = mt_rand();
echo "$result<br />\n";
}
echo "\n\n<br /><br />\n\n\n"; // 줄바꿈
echo "[ 1에서 10까지의 정수 난수 5개 출력 ]<br />\n";
for ($i = 0; $i < 5; $i++) {
$result = mt_rand(1, 10);
echo "$result<br />\n";
}
echo "\n\n<br /><br />\n\n\n"; // 줄바꿈
// 특정 범위의 정수 난수
echo "[ 10에서 20까지의 정수 난수 5개 출력 ]<br />\n";
for ($i = 0; $i < 5; $i++) {
$result = mt_rand(10, 20);
echo "$result<br />\n";
}
echo "\n\n<br /><br /><br /><br />\n\n\n"; // 줄바꿈
echo "[ mt_rand() 함수의 RAND_MAX 값 구하기 ]<br />\n";
echo mt_getrandmax(), "<br />\n\n";
// 2147483647
// 즉, mt_rand() 함수는 최대 0x7FFFFFFF 까지의 난수 생성 가능
echo "[ rand() 함수의 RAND_MAX 값 구하기 ]<br />\n";
echo getrandmax(), "<br />\n";
// 32767
// 즉, rand() 함수는 최대 0x7FFF 까지의 난수 생성
?>
</body>
</html>
<head>
<title>PHP Example</title>
</head>
<body>
<?php
echo "[ 0에서 RAND_MAX(2147483647)까지의 정수 난수 5개 출력 ]<br />\n";
for ($i = 0; $i < 5; $i++) {
$result = mt_rand();
echo "$result<br />\n";
}
echo "\n\n<br /><br />\n\n\n"; // 줄바꿈
echo "[ 1에서 10까지의 정수 난수 5개 출력 ]<br />\n";
for ($i = 0; $i < 5; $i++) {
$result = mt_rand(1, 10);
echo "$result<br />\n";
}
echo "\n\n<br /><br />\n\n\n"; // 줄바꿈
// 특정 범위의 정수 난수
echo "[ 10에서 20까지의 정수 난수 5개 출력 ]<br />\n";
for ($i = 0; $i < 5; $i++) {
$result = mt_rand(10, 20);
echo "$result<br />\n";
}
echo "\n\n<br /><br /><br /><br />\n\n\n"; // 줄바꿈
echo "[ mt_rand() 함수의 RAND_MAX 값 구하기 ]<br />\n";
echo mt_getrandmax(), "<br />\n\n";
// 2147483647
// 즉, mt_rand() 함수는 최대 0x7FFFFFFF 까지의 난수 생성 가능
echo "[ rand() 함수의 RAND_MAX 값 구하기 ]<br />\n";
echo getrandmax(), "<br />\n";
// 32767
// 즉, rand() 함수는 최대 0x7FFF 까지의 난수 생성
?>
</body>
</html>
실행 결과 화면:
D:\Z>php example.php
<html>
<head>
<title>PHP Example</title>
</head>
<body>
[ 0에서 RAND_MAX(2147483647)까지의 정수 난수 5개 출력 ]<br />
2045426145<br />
1494914331<br />
706258437<br />
1115636331<br />
353971095<br />
<br /><br />
[ 1에서 10까지의 정수 난수 5개 출력 ]<br />
5<br />
5<br />
3<br />
10<br />
1<br />
<br /><br />
[ 10에서 20까지의 정수 난수 5개 출력 ]<br />
17<br />
19<br />
10<br />
13<br />
16<br />
<br /><br /><br /><br />
[ mt_rand() 함수의 RAND_MAX 값 구하기 ]<br />
2147483647<br />
[ rand() 함수의 RAND_MAX 값 구하기 ]<br />
32767<br />
</body>
</html>
D:\Z>
D:\Z>
D:\Z>php example.php > out.html
D:\Z>
<html>
<head>
<title>PHP Example</title>
</head>
<body>
[ 0에서 RAND_MAX(2147483647)까지의 정수 난수 5개 출력 ]<br />
2045426145<br />
1494914331<br />
706258437<br />
1115636331<br />
353971095<br />
<br /><br />
[ 1에서 10까지의 정수 난수 5개 출력 ]<br />
5<br />
5<br />
3<br />
10<br />
1<br />
<br /><br />
[ 10에서 20까지의 정수 난수 5개 출력 ]<br />
17<br />
19<br />
10<br />
13<br />
16<br />
<br /><br /><br /><br />
[ mt_rand() 함수의 RAND_MAX 값 구하기 ]<br />
2147483647<br />
[ rand() 함수의 RAND_MAX 값 구하기 ]<br />
32767<br />
</body>
</html>
D:\Z>
D:\Z>
D:\Z>php example.php > out.html
D:\Z>
php example.php > out.html
이렇게 하면 출력 결과가, out.html 이라는 파일로 저장됩니다.
▶▶ PHP 프로그래밍] 실수 랜덤 난수 생성 0에서 1까지 출력, Float Random Rand
tag: php
PHP
<< Home