>  기사  >  백엔드 개발  >  PHP는 또한 훌륭한 일을 할 수 있습니다. 임의의 function_php 기술

PHP는 또한 훌륭한 일을 할 수 있습니다. 임의의 function_php 기술

WBOY
WBOY원래의
2016-05-16 20:17:401110검색

앞에

라고 써있어요

머리말

PHP는 배우기 쉽고 사용이 빠르기 때문에 일반적인 스크립팅 언어입니다. 거의 50%의 웹 프로그램에 PHP가 포함되어 있습니다(불완전한 통계). PHP는 개발을 위한 풍부한 기능과 API 인터페이스를 제공하므로 강력한 내장 기능과 확장 기능을 매우 편리하게 사용할 수 있습니다. 이 기사는 주로 사용법을 요약한 "PHP Can Do Big Things" 시리즈의 두 번째 기사입니다. 장비에 대한 PHP 지식.

3. PHP 랜덤 함수

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

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

<&#63;php
$base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$count = strlen($base);
$random = '';
for ($i=0; $i < 16; $i++) { 
 $random.=$base[rand(0,$count-1)];
}
echo $random;
&#63;>
rand() 함수는 libc의 난수 생성기를 사용하여 난수를 생성합니다. 일반적으로 속도가 느리고 불확실한 요소가 있으므로 대신 mt_rand 함수를 사용하는 것이 좋습니다.

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

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

<&#63;php
$base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$count = strlen($base);
$random = '';
for ($i=0; $i < 16; $i++) { 
 $random.=$base[mt_rand(0,$count-1)];
}
echo $random;
&#63;>
많은 오래된 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 함수

<&#63;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;
&#63;> 
array_rand는 배열의 임의의 키 값을 반환하는데, 이는 mt_rand() 함수와 다소 유사합니다. 나머지는 특별한 것이 아니며 유연하게 사용하면 됩니다.

4. 셔플 기능

<&#63;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);
}
&#63;> 
셔플 기능은 배열의 순서를 방해하는 것으로, 이는 약간 무작위입니다. 여기서는 Random 기능에 배치됩니다. 반환 값은 부울 값으로, 이는 원래 변수를 직접 참조하는 것과 동일합니다.

5. str_shuffle 기능

<&#63;php
$base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
echo str_shuffle($base);
&#63;>
여기서 str_shuffle의 기능은 shuffle의 기능과 유사합니다. 유일한 차이점은 str_shuffle의 원래 문자열이 변경되지 않는다는 것입니다.

6. 유니퀴드 기능

<&#63;php
echo uniqid();
//54f806528172f
&#63;>
uniqid는 고유한 문자열을 생성할 수 있으며 이 애플리케이션의 범위는 상당히 넓습니다

4. 요약
랜덤 함수는 거의 모든 언어의 가장 기본적인 함수이며, PHP의 랜덤 함수 지원도 예외는 아닙니다. 여기서는 rand, mt_rand, array_rand, shuffle, str_shuffle 및 uniqid 함수의 기본 사용법을 소개합니다. 실용적으로 활용해보세요.

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