이 글은 주로 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 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $count = strlen($base); $random = ''; 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 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $count = strlen($base); $random = ''; 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('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'); $random = ''; for ($i=0; $i < 16; $i++) { $random.=$base[array_rand($base)]; } echo $random; ?>
array_rand는 mt_rand() 함수와 다소 유사한 배열의 임의의 키 값을 반환합니다. 그냥 유연하게 사용하세요.
4. 셔플 기능
<?php $base = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'); if(shuffle($base)){ print_r($base); } ?>
셔플 기능은 배열의 순서를 방해하는 것으로, 여기서는 임의 함수에 배치됩니다. 반환 값은 부울 값으로, 이는 원래 변수를 직접 참조하는 것과 동일합니다.
5. str_shuffle 함수
<?php $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; 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 함수를 소개합니다.
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
배열을 기반으로 html 코드를 동적으로 생성하는 php 메서드
위 내용은 PHP 랜덤 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!