PHP Conference Japan 2024

Random\Engine\PcgOneseq128XslRr64::__construct

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__construct建構新的 PCG Oneseq 128 XSL RR 64 引擎

說明

public Random\Engine\PcgOneseq128XslRr64::__construct(字串|整數|null $seed = null)

警告

此函式目前沒有說明文件;僅提供其參數列表。

參數

seed (種子)

內部 128 位元 (16 位元組) 狀態由一個無號 128 位元整數組成,其種子設定方式取決於用作 seed 的類型。

類型 說明
null 使用 CSPRNG 產生的 16 個隨機位元組填充狀態。
int 將狀態設定為 0,推進引擎一步,加上 seed 的值(解讀為無號 64 位元整數),然後再推進引擎一步來填充狀態。
string 將 16 位元組的 字串 解讀為小端序無號 128 位元整數來填充狀態。

錯誤/例外

範例

範例 #1 Random\Engine\PcgOneseq128XslRr64::__construct() 範例

<?php
// 使用隨機的 128 位元種子。
$e = new \Random\Engine\PcgOneseq128XslRr64();

$r = new \Random\Randomizer($e);
?>

範例 #2 從 字串 衍生種子

<?php
$string
= "My string seed";

// 使用二進位輸出的截斷 SHA-256 雜湊字串
// 將 $string 轉換為 128 位元種子。使用相同的
// 字串將產生相同的隨機數序列。
$e = new \Random\Engine\PcgOneseq128XslRr64(
substr(hash('sha256', $string, binary: true), 0, 16)
);

echo
bin2hex($e->generate()), "\n";
?>

以上範例將輸出

8333ef59315b16d8
新增註記

使用者貢獻的註記

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