偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

PHP隨機(jī)數(shù)生成與使用解析

原創(chuàng)
開發(fā) 后端
PHP使用rand()函數(shù)產(chǎn)生并返回隨機(jī)數(shù)。PHP隨機(jī)數(shù)的應(yīng)用比較廣泛,本文我們主要學(xué)習(xí)PHP隨機(jī)數(shù)的一些基礎(chǔ),通過示例了解如何使用PHP在一個(gè)集合中隨機(jī)提取元素。

【51CTO譯文】在上一篇文章中我們介紹了如何使用PHP創(chuàng)建和修改PDF文檔。今天我們一起來學(xué)習(xí)如何使用PHP生成隨機(jī)數(shù)。

#T#在PHP程序設(shè)計(jì)中,隨機(jī)數(shù)的生成尤為重要。我們需要用隨機(jī)數(shù)在我們的頁面中展示隨機(jī)記錄(比如圖片、用戶記錄、文章ID等)。我們還可以使用隨機(jī)數(shù)設(shè)計(jì)任何我們想象的程序結(jié)構(gòu)。

首先來認(rèn)識(shí)一下PHP提供的隨機(jī)數(shù)函數(shù)rand()。PHP的rand()函數(shù)將返回隨機(jī)整數(shù),具體使用方法如下

rand(min,max)

可選參數(shù)min和max可以使rand() 返回0到RAND_MAX之間的偽隨機(jī)整數(shù)。例如,想要5到15(包括 5 和 15)之間的隨機(jī)數(shù),用 rand(5, 15)。

下面我來看一個(gè)具體的示例,我們做一個(gè)基本的函數(shù)調(diào)用,不設(shè)置具體的參數(shù),我們得到的隨機(jī)數(shù)將不受min和max兩個(gè)參數(shù)的限制。

  1. echo(rand());?> 

得到的結(jié)果:652696728 (隨機(jī)結(jié)果)

1、使用PHP生成指定區(qū)間內(nèi)的隨機(jī)數(shù)

如果我們要生成兩個(gè)數(shù)字之間的隨機(jī)數(shù),我們需要為rand設(shè)定兩個(gè)參數(shù):

這樣,我們得到的結(jié)果就在我們的控制之中,他應(yīng)該是MinNum <= result <= MaxNum;假設(shè)我們要使用PHP生成10000到2000之間的隨機(jī)數(shù),我們的代碼應(yīng)該這樣寫:

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

夠簡(jiǎn)單吧,下面來點(diǎn)稍微有些難度的。在本文的開始我們說過,隨機(jī)數(shù)的作用很大,我們可以用PHP隨機(jī)數(shù)解決一些復(fù)雜的問題。

2、使用PHP獲得一個(gè)集合中的隨機(jī)元素

將設(shè)我們需要從一個(gè)數(shù)組中獲得一個(gè)隨機(jī)元素

  1. $my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML');  
  2. echo($my_array[rand(0,6)]);   
  3. ?> 

可以想象,我們得到的結(jié)果可能是ASP、PHP或JavaScript等任何一個(gè)包含在數(shù)組中的元素。注意,我們的my_array數(shù)組包含七個(gè)元素,我們將rand()的參數(shù)設(shè)置為0到6之間。

下面我們使用兩組隨機(jī)數(shù)對(duì)上面的示例做功能增強(qiáng),我們需要一個(gè)隨機(jī)數(shù)進(jìn)行條件判斷,另一個(gè)隨機(jī)數(shù)做元素的輸出。

  1. $my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML');  
  2. $repetition=rand(0,6);  
  3. for($i=0;$i<=$repetition;$i++){  
  4. echo('I am learning ' . $my_array[rand(0,6)]);  
  5. echo(' on 51CTO.com');  
  6. }  
  7. ?> 

我們得到的結(jié)果可能像下面這樣:

PHP隨機(jī)數(shù)結(jié)果示例
第一次運(yùn)行我們得到三條結(jié)果

由于我們使用一個(gè)隨機(jī)數(shù)限定顯示的條數(shù),所以得到的結(jié)果除了文章隨機(jī),顯示的條數(shù)也是隨機(jī)的,如下圖:

PHP隨機(jī)數(shù)
第二次運(yùn)行得到七條結(jié)果

也許你會(huì)問,PHP隨機(jī)數(shù)只能做這些無聊的事兒?jiǎn)?rand( )看來并不是那么重要;你錯(cuò)了,想想隨處可見的驗(yàn)證碼、一些CMS系統(tǒng)的隨機(jī)文章提取、下載地址分配等,隨機(jī)數(shù)在這些應(yīng)用中發(fā)揮著重要作用;另外,在安全和算法領(lǐng)域,隨機(jī)數(shù)的很多應(yīng)用也值得我們?nèi)ド钊胙芯?,比如加密和同余法結(jié)構(gòu)等。

 

責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2024-11-01 15:51:06

2010-03-22 19:41:31

2009-12-08 12:58:33

PHP隨機(jī)數(shù)類

2009-12-08 11:44:14

PHP獲取隨機(jī)數(shù)

2010-03-11 12:48:25

Python生成隨機(jī)數(shù)

2015-10-13 10:00:58

Swift隨機(jī)數(shù)使用總結(jié)

2019-12-26 14:07:19

隨機(jī)數(shù)偽隨機(jī)多線程

2021-12-27 09:31:20

HashtableJava隨機(jī)數(shù)

2010-03-23 09:47:38

Python隨機(jī)數(shù)Python隨機(jī)字符串

2019-09-11 10:09:00

Java虛擬機(jī)算法

2017-05-29 09:56:25

2014-07-23 10:07:34

2022-12-15 08:54:28

JAVA性能JDK

2021-04-06 08:54:13

Random線程安全數(shù)生成器

2021-06-15 07:59:01

Java生成隨機(jī)數(shù)Java編程

2012-03-22 09:31:14

Java

2010-07-15 13:34:32

Perl隨機(jī)數(shù)

2009-06-11 15:16:18

不重復(fù)隨機(jī)數(shù)Java

2010-09-06 17:40:59

SQL函數(shù)

2024-05-29 09:05:17

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)