>백엔드 개발 >PHP 튜토리얼 >의사 난수 PHP 난수 생성 코드 및 사용예 분석

의사 난수 PHP 난수 생성 코드 및 사용예 분석

WBOY
WBOY원래의
2016-07-29 08:44:431465검색

우리는 또한 우리가 상상할 수 있는 모든 프로그램 구조를 설계하기 위해 난수를 사용할 수 있습니다.
먼저 PHP에서 제공하는 난수 함수 rand()에 대해 알아봅시다. PHP의 rand() 함수는 임의의 정수를 반환합니다.
rand(min,max)
선택적 매개변수 min 및 max를 사용하면 rand()가 0과 RAND_MAX 사이의 의사 난수 정수를 반환할 수 있습니다. . 예를 들어, 5에서 15(포함) 사이의 난수를 원하는 경우 rand(5, 15)를 사용하세요.
아래에서 특정 매개변수를 설정하지 않고 기본 함수 호출을 수행하는 구체적인 예를 살펴보겠습니다. 우리가 얻는 난수는 min 및 max 매개변수에 의해 제한되지 않습니다.

코드 복사 코드는 다음과 같습니다.


>

얻은 결과: 652696728(무작위 결과) 1. PHP를 사용하여 지정된 간격 내에서 난수를 생성하려면 두 숫자 사이에 난수를 생성하려면 rand에 대해 두 개의 매개 변수를 설정해야 합니다. 이런 방식으로 결과는 우리가 제어할 수 있으며 MinNum

코드 복사 코드는 다음과 같습니다.

echo(rand(1000,2000));?>


충분히 간단하지만 좀 더 어려운 문제가 있습니다. 이 글의 시작 부분에서 우리는 난수가 매우 유용하다고 말했습니다. PHP 난수를 사용하여 몇 가지 복잡한 문제를 해결할 수 있습니다. 2. PHP를 사용하여 컬렉션에서 임의의 요소를 가져옵니다.



코드 복사

코드는 다음과 같습니다. $my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML')

echo($my_array [rand(0 ,6)]);

?>


우리가 얻는 결과는 ASP, PHP 또는 JavaScript와 같은 배열에 포함된 모든 요소일 수 있습니다. my_array 배열에는 7개의 요소가 포함되어 있으며 rand()에 대한 인수를 0에서 6 사이로 설정했습니다. 다음으로 위 예제의 기능을 향상시키기 위해 두 세트의 난수를 사용합니다. 조건부 판단을 위한 난수 하나와 요소 출력을 위한 다른 난수가 필요합니다.



코드 복사

코드는 다음과 같습니다.$my_array=array('ASP','PHP','JAVASCRIPT ',' AJAX','CSS','JQUERY','HTML')

$repetition=rand(0,6)

for($i=0;$i<=$repetition;$ i ){
echo('나는 배우고 있습니다' . $my_array[rand(0,6)])
echo(' on 51CTO.com'); 🎜>


우리가 얻는 결과는 다음과 같습니다.



처음 실행하면 세 가지 결과를 얻습니다

표시되는 항목 수를 제한하기 위해 난수를 사용하기 때문에 무작위 기사 외에도 얻은 결과는 표시되는 항목 수에서도 무작위입니다.  PHP随机数生成代码与使用实例分析

두 번째 실행에서 얻은 7개의 결과

아마도 PHP 난수로 이런 지루한 일만 할 수 있는지 물어보실 것입니다. rand()는 그다지 중요하지 않은 것 같습니다. 당신은 틀렸습니다. 일부 CMS 시스템의 모든 곳에서 볼 수 있는 인증 코드, 임의의 기사 추출, 다운로드 주소 할당 등에 대해 생각해 보십시오. 임의의 숫자는 보안 및 알고리즘 분야에서도 이러한 응용 프로그램에서 중요한 역할을 합니다. , 암호화 및 합동 법적 구조 등과 같은 난수의 많은 응용 프로그램도 심층 연구할 가치가 있습니다.  PHP随机数生成代码与使用实例分析
위 내용은 의사난수 내용을 포함하여 의사난수 PHP 난수 생성 코드와 사용예 분석을 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

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