The seed is the PID + LCG (https://github.com/php/php-src/search?q=GENERATE_SEED&unscoped_q=GENERATE_SEED)(PHP 4, PHP 5, PHP 7, PHP 8)
mt_rand — メルセンヌ・ツイスター乱数生成器を介して乱数値を生成する
古い libc の多くの乱数発生器は、怪しげであるか特性が不明であったりし、 また低速でした。 mt_rand() 関数は、古い rand() の代替品となるものです。 この関数は、その特性が既知の乱数生成器 » メルセンヌ・ツイスター を使用し、 平均的な libc の rand()よりも 4 倍以上高速に乱数を生成します。
   オプションの引数
   min,max を付けずに
   コールした場合、mt_rand() は 0 から
   mt_getrandmax() の間の擬似乱数値を返します。
   例えば、5 から 15 まで(端点を含む)の間の乱数値を得たい場合には
   mt_rand(5, 15) としてください。
  
この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません。
暗号学的にセキュアな乱数が必要な場合は、Random\Randomizer を Random\Engine\Secure と一緒に使いましょう。簡単なユースケースの場合、random_int() と random_bytes() 関数が、オペレーティングシステムの CSPRNG を使った、 便利で安全な API を提供します。
   min (あるいは 0)
   から max (あるいは mt_getrandmax()、それぞれ端点を含む)
   までの間のランダムな整数値を返します。
  
max が min より小さい場合
     ValueError がスローされます。
    
   
| バージョン | 説明 | 
|---|---|
| 8.0.0 | maxがminより小さい場合は
        ValueError がスローされます。
        以前はE_WARNINGが発生し、関数はfalseを返していました。 | 
| 7.2.0 | mt_rand() 関数の モジュロバイアスに関するバグが 修正されました。 これは、特定のシードを用いて生成したシーケンスは、64bit マシン上での PHP 7.1 と出力が異なる可能性があることを意味します。 | 
| 7.1.0 | rand() は、mt_rand() の エイリアスになりました。 | 
| 7.1.0 | mt_rand() は、固定の、正しいバージョンのメルセンヌツイスタ の アルゴリズム を使うように
        更新されました。
        古い振る舞いに戻すには、
        mt_srand() 関数の第二引数に MT_RAND_PHPを指定して使ってください。 | 
例1 mt_rand() の例
<?php
echo mt_rand(), "\n";
echo mt_rand(), "\n";
echo mt_rand(5, 15), "\n";
?>上の例の出力は、 たとえば以下のようになります。
1604716014 1478613278 6
    min から max
    までの幅を mt_getrandmax() の範囲内におさめる必要があります。
    つまり、(max -
    min) <= mt_getrandmax()
    でなければいけないということです。この範囲をこえてしまうと、
    mt_rand() が返す値のランダム性が、
    本来あるべき姿よりも低くなってしまいます。
   
The seed is the PID + LCG (https://github.com/php/php-src/search?q=GENERATE_SEED&unscoped_q=GENERATE_SEED)