Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<Random\Engine\Xoshiro256StarStarRandom\Engine\Xoshiro256StarStar::__debugInfo>
^Random\Engine\Xoshiro256StarStarLast updated: Mon, 26 Oct 2026

Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__construct — Constructs a new xoshiro256** engine

Description

public function Random\Engine\Xoshiro256StarStar::__construct(string|int|null $seed = null)

Parameters

seed

How the internal 256 bit (32 byte) state consisting of four unsigned 64 bit integers is seeded depends on the type used as the seed.

Type Description
null Fills the state with 32 random bytes generated using the CSPRNG.
int Fills the state with four consecutive values generated with the SplitMix64 algorithm that was seeded with seed interpreted as an unsigned 64 bit integer.
string Fills the state by interpreting a 32 byte string as four little-endian unsigned 64 bit integers.

Errors/Exceptions

Examples

Example #1 Random\Engine\Xoshiro256StarStar::__construct() example

<?php
// Uses a random 256 Bit seed.
$e = new \Random\Engine\Xoshiro256StarStar();

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

Example #2 Deriving a seed from a string

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

// Hash the string with SHA-256 using binary output to turn the
// $string into a 256 Bit seed. Using the same string will result
// in the same sequence of randomness.
$e = new \Random\Engine\Xoshiro256StarStar(
    hash('sha256', $string, binary: true)
);

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

The above example will output:

6e013453678388c2

<Random\Engine\Xoshiro256StarStarRandom\Engine\Xoshiro256StarStar::__debugInfo>
^Random\Engine\Xoshiro256StarStarLast updated: Mon, 26 Oct 2026