PHP의 임의 함수는 다음과 같습니다. 1. 임의의 정수를 생성할 수 있는 rand() 2. mt_rand(), 배열에 임의의 키 이름을 반환할 수 있는 shuffle() 배열을 무작위로 섞습니다. 5. str_shuffle() 6. uniqid();
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP 무작위 함수에는 주로 rand, mt_rand, array_rand 및 무작위로 "정렬된"(셔플된) 함수 셔플이 포함됩니다. , str_shuffle, 고유 ID의 uniqid를 생성할 수 있습니다.
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의 난수 생성기를 사용하여 난수를 생성합니다. 일반적으로 속도가 느리고 불확실한 요소가 있으므로 대신 mt_rand 함수를 사용하는 것이 좋습니다.
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는 고유한 문자열을 생성할 수 있습니다. 이 애플리케이션의 범위는 상당히 넓습니다.
권장 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 임의성을 구현하는 함수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!