PHP Conference Japan 2024

gmp_random_range

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

gmp_random_range取得一個均勻選取的整數

說明

gmp_random_range(GMP|int|string $min, GMP|int|string $max): GMP

產生一個隨機數。該數字將介於 minmax 之間。

minmax 都可以是負數,但 min 必須始終小於 max

注意

這個函式不會產生密碼學安全的數值,而且*絕對不能*用於密碼學用途,或是任何需要回傳值不可預測的用途。

如果需要密碼學安全的隨機性,可以使用 Random\Randomizer 搭配 Random\Engine\Secure 引擎。對於簡單的使用案例,random_int()random_bytes() 函式提供了方便且安全的 API,其背後由作業系統的 CSPRNG 支援。

參數

min

一個表示隨機數下限的 GMP 數。

max

一個表示隨機數上限的 GMP 數。

回傳值

回傳一個 GMP 物件,其中包含從閉區間 [min, max] 均勻選取的整數。 minmax 皆有可能成為回傳值。

錯誤/例外

如果 max 小於 min,將會拋出 ValueError 例外。

範例

範例 #1 gmp_random_range() 範例

<?php
$rand1
= gmp_random_range(0, 100); // 0 到 100 之间的随机数
$rand2 = gmp_random_range(-100, -10); // -100 到 -10 之间的随机数

echo gmp_strval($rand1) . "\n";
echo
gmp_strval($rand2) . "\n";
?>

上述範例將會輸出

42
-67

新增註記

使用者貢獻的註記

這個頁面沒有使用者貢獻的註記。
To Top