>백엔드 개발 >PHP 튜토리얼 >PHP 랜덤 함수를 사용하는 방법

PHP 랜덤 함수를 사용하는 방법

墨辰丷
墨辰丷원래의
2018-06-11 16:21:412481검색

이 글은 주로 PHP 랜덤 기능의 사용법을 소개합니다. 관심있는 친구들이 참고하시면 좋을 것 같습니다.

앞에 작성

PHP 구문 기능 및 관련 함수 라이브러리의 고전적인 사용법은 실제로 큰 차이를 만드는 효과를 얻지 못할 수도 있지만 이러한 방법을 익히면 작업과 공부에 도움이 될 수 있습니다!

2. 서문

PHP는 배우기 쉽고 사용하기 빠르기 때문에 널리 사용되는 스크립트 언어입니다. 거의 50%의 웹 프로그램에 PHP가 있습니다(불완전한 통계). PHP는 개발을 위한 풍부한 기능과 API 인터페이스를 제공하므로 강력한 내장 기능과 확장 기능을 매우 편리하게 사용할 수 있습니다.

3. PHP 무작위 함수

PHP 무작위 함수에는 주로 rand, mt_rand, array_rand 및 고유한 ID를 가진 uniqid를 생성할 수 있는 무작위로 "배열된"(셔플된) 함수 shuffle 및 str_shuffle이 포함됩니다.

1.rand는 난수를 생성합니다:

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
$count = strlen($base);
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[rand(0,$count-1)];
}
echo $random;
?>

rand() 함수는 libc의 난수 생성기를 사용하여 난수를 생성합니다. 일반적으로 속도가 느리고 불확실한 요소가 있습니다. 대신 기능을 수행하십시오.

getrandmax() 함수는 rand 함수가 생성할 수 있는 최대 난수를 반환할 수 있으므로(내 시스템은 32767입니다) rand 함수의 두 번째 매개 변수를 설정할 때 getrandmax의 반환 값을 너무 높게 설정하지 마세요.

2.mt_rand는 난수를 생성합니다.

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
$count = strlen($base);
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[mt_rand(0,$count-1)];
}
echo $random;
?>

많은 오래된 libc 난수 생성기는 불확실하고 알 수 없는 특성을 가지고 있으며 매우 느립니다. PHP의 rand() 함수는 기본적으로 libc 난수 생성기를 사용합니다. 이를 대체하기 위해 mt_rand() 함수가 비공식적으로 사용됩니다. 이 함수는 » Mersenne Twister의 알려진 기능을 난수 생성기로 사용합니다. 이는 libc에서 제공하는 rand()보다 평균 4배 빠르게 난수 값을 생성할 수 있습니다. 개발 중에는 rand 대신 mt_rand 함수를 사용하는 것이 좋습니다.

선택적 매개변수 min 및 max가 제공되지 않으면 mt_rand()는 0과 mt_getrandmax() 사이의 의사 난수를 반환합니다. 예를 들어, 3에서 20(포함) 사이의 난수를 원하는 경우 mt_rand(3, 20)를 사용하세요.

3. array_rand 함수

<?php
$base = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,&#39;j&#39;,&#39;k&#39;,&#39;l&#39;,&#39;m&#39;,&#39;n&#39;,&#39;o&#39;,&#39;p&#39;,&#39;q&#39;,&#39;r&#39;,&#39;s&#39;,&#39;t&#39;,&#39;u&#39;,&#39;v&#39;,&#39;w&#39;,&#39;x&#39;,&#39;y&#39;,&#39;z&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;J&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;O&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;U&#39;,&#39;V&#39;,&#39;W&#39;,&#39;X&#39;,&#39;Y&#39;,&#39;Z&#39;,&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;);
 
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[array_rand($base)];
}
echo $random;
?>

array_rand는 mt_rand() 함수와 다소 유사한 배열의 임의의 키 값을 반환합니다. 그냥 유연하게 사용하세요.

4. 셔플 기능

<?php
$base = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,&#39;j&#39;,&#39;k&#39;,&#39;l&#39;,&#39;m&#39;,&#39;n&#39;,&#39;o&#39;,&#39;p&#39;,&#39;q&#39;,&#39;r&#39;,&#39;s&#39;,&#39;t&#39;,&#39;u&#39;,&#39;v&#39;,&#39;w&#39;,&#39;x&#39;,&#39;y&#39;,&#39;z&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;J&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;O&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;U&#39;,&#39;V&#39;,&#39;W&#39;,&#39;X&#39;,&#39;Y&#39;,&#39;Z&#39;,&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;);
if(shuffle($base)){
 print_r($base);
}
?>

셔플 기능은 배열의 순서를 방해하는 것으로, 여기서는 임의 함수에 배치됩니다. 반환 값은 부울 값으로, 이는 원래 변수를 직접 참조하는 것과 동일합니다.

5. str_shuffle 함수

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
echo str_shuffle($base);
?>

여기서 str_shuffle의 함수는 shuffle의 함수와 유사하지만 유일한 차이점은 str_shuffle의 원래 문자열이 변경되지 않는다는 것입니다.

6. uniqid 함수

<?php
echo uniqid();
//54f806528172f
?>

uniqid는 고유한 문자열을 생성할 수 있습니다.

4. 요약
Random 함수는 거의 모든 언어의 가장 기본적인 기능입니다. PHP의 랜덤 함수 지원도 예외는 아닙니다. 여기서는 실제 애플리케이션과 결합하여 유연하게 사용할 수 있는 rand, mt_rand, array_rand, shuffle, str_shuffle 및 uniqid 함수를 소개합니다.

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

php 오류 처리를 위한 일반적인 기술

웹 서비스를 구현하는 PHP 메서드

배열을 기반으로 html 코드를 동적으로 생성하는 php 메서드

위 내용은 PHP 랜덤 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.