PHP 中的隨機數產生器

王林
發布: 2024-08-29 13:13:13
原創
776 人瀏覽過

在本文中,我們將學習 PHP 中的隨機數產生器。那什麼是隨機數產生器呢?

我們可以使用內建函數來產生隨機數或整數。這些功能有什麼作用?這些函數在最小值和最大值範圍內產生不同的數字集。每次呼叫此函數時,它都會產生一個唯一的數字。我們可以產生任何編號的數字,例如 2 位數字、3 位數字等。

廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

數字在範圍內洗牌並相應地產生。有各種內建函數可以產生隨機數。

隨機數產生器函數

現在我們將學習產生偽隨機數的不同函數:

  • 不含範圍的 rand() 函數,帶範圍的 rand() 函數:呼叫此函數時會傳回隨機數。當函數向函數提供最小值和最大值時,它會產生該範圍內的隨機數。
  • mt_rand() 函數: 函數與 rand() 類似。 mt_rand() 中的 mt 代表 Mersenne Twister。 mt_rand() 函數是一個隨機數產生器並傳回一個整數值。它像 rand() 函數一樣產生偽隨機數。這是第一個偽隨機數產生器。它是較舊的隨機數產生器的高級形式。它快速、高效並提供高品質的整數。
  • getrandmax() 函數: 函數沒有定義任何參數,顧名思義,它會傳回最大或最大可能的隨機數。
  • mt_getrandmax() 函數: 它與 getrandmax() 函數類似,它也傳回最大或最大可能的隨機數。這裡 mt 再次代表 Mersenne Twister,它是一種產生隨機數的演算法。
  • srand(seed) 函數: 如果未給定此函數種子與隨機數,則此函數使用給定的種子值種子隨機數產生器
  • mt_srand(seed): 此函數類似於 srand() 函數,該函數使用給定的種子值來為隨機數產生器播種。

我們將透過所提及的每種類型函數的範例來學習語法。

1. rand() 函數

文法:

rand()
登入後複製

範例:

<?php
// program to generate random integer value
echo '<br>'.'Following are the different random values';
echo '<hr/>';
echo '<br>'. rand();
echo '<hr/>';
echo '<br>'. rand();
echo '<hr/>';
echo '<br>'. rand();
?>
登入後複製

輸出:

PHP 中的隨機數產生器

2. rand() 給定範圍內的函數

此函數為 rand() 函數提供範圍。

文法:

rand(min, max);
登入後複製

其中 min 是可選的最小值,表示最低數值,max 是可選的最大值,表示最高數值。

此外,min 的預設值為零,max 的預設值是 getrandmax() 函數值。函數的回傳類型始終是整數。

範例:

<?php
// program to generate random integer value
echo 'Following are the different random values within ranges min and max';
echo '<hr/>';
echo '<br> Range : 1 to 100 ----> '. rand(1,100);
echo '<hr/>';
echo '<br> Range 5 to 25 ---->'. rand(5, 25);
echo '<hr/>';
echo '<br>Range 10000 to 50000 --->'. rand(10000, 50000);
?>
登入後複製

輸出:

PHP 中的隨機數產生器

3. mt_rand() 函數

文法:

int mt_rand(min, max)
登入後複製

其中 min 是可選值,表示最小數字,max 是可選值,表示最大數字。 min 的預設值為 0,max 的預設值為給定的最高值。傳回類型是整數。

範例:

<?php
// program to generate random integer value
echo 'Following are the different random values using mt_rand()';
echo '<hr/>';
echo '<br> Range : 1 to 100 ----> '. mt_rand(1,100);
echo '<hr/>';
echo '<br> Range 5 to 25 ---->'. mt_rand(5, 25);
echo '<hr/>';
echo '<br>Range 9 to 19 --->'. mt_rand(9, 19);
?>
登入後複製

輸出:

PHP 中的隨機數產生器

4. getrandmax() 函數

文法:

mt_getrandmax();
登入後複製
登入後複製

函數傳回一個整數值

範例

<?php
// program to generate random integer values
//using getrandmax() function
echo 'Random number using getrandmax() function';
echo '<hr/>';
echo(getrandmax());
echo '<hr>';
?>
登入後複製

輸出:

PHP 中的隨機數產生器

5. mt_getrandommax() 函數

文法:

mt_getrandmax();
登入後複製
登入後複製

此函數傳回一個整數值。

範例:

<?php
// program to generate random integer values
//using mt_getrandmax() function
echo 'random number using mt_getrandmax() function';
echo '<hr/>';
echo(mt_getrandmax());
?>
登入後複製

輸出:

PHP 中的隨機數產生器

6. srand() 函數

文法:

srand(seed);
登入後複製

其中種子是可選值,且此函數不傳回任何內容。

範例:

<?php
// program to generate random integer value
echo 'example using srand';
echo '<br>'. srand(3);
echo(rand(1, 5));
echo '<hr>';
echo 'example using srand';
echo '<br>'. srand(2);
echo(rand(1, 5));
?>
登入後複製

輸出:

PHP 中的隨機數產生器

7. mt_srand() Function

Example:

<?php
// program to generate random integer value using mt_srand() function
echo 'example using mt_srand';
echo '<hr>';
mt_srand(5);
echo mt_rand(1,5);
?>
登入後複製

Output:

PHP 中的隨機數產生器

Generation Integers

In the following example we have used rand(),rand(min,max) and mt_rand().

Code:

<?php
// program to generate random integer value
echo 'Following are the different random values';
echo '<br> Any random number ---->'. rand();
echo '<br> Any random number ---->'. rand();
echo '<hr>';
// random number with range
echo 'Following are the different random values within a range ';
echo '<br> Any random number within the range from 0 to 9----> '. rand(0,9);
echo '<br>Any random number within the range from 1000  to 9999 ---->'. rand(1000,9999);
echo '<hr>';
// random number with range
echo 'Following are the different random values using mt_rand() ';
echo '<br> Using mt_rand()---->'. mt_rand(1000,9999);
echo '<br> Using mt_rand()---->'. mt_rand(100,999);
?>
登入後複製

Output:

PHP 中的隨機數產生器

Generation Floating-Point Numbers

Floating-point numbers represent a number with decimals that are of the type float. Examples – 10.0, 8.12, 6.23e-5, 2.345, 2.98e+10 and more.

Code:

<?php
function fun($min, $max) {
$square_root = sqrt(4);
return mt_rand($min * $square_root, $max * $square_root) /  100;
}
echo 'Program to display floating point numbers ';
echo '<hr>';
echo "<br>".fun(1, 10, 2);
?>
登入後複製

Output:

PHP 中的隨機數產生器

Conclusion

In this article, we learned about various functions used to generate a random number in PHP. These functions are explained with sample examples. Hope this article is found useful to anyone who wants to learn a random number generator in PHP.

以上是PHP 中的隨機數產生器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!