0

完全ランダム関数と半ランダム関数の違いを知っている人はいますか? PHPでそれらを使用するにはどうすればよいですか? 例はありますか?

ありがとう!

4

1 に答える 1

0

疑似ランダムと真のランダムを意味する可能性があります。真の乱数は、通常、「TRNG」(文字通り真の乱数ジェネレーター) を使用して環境ノイズまたはその他のソースから作成され、プログラムで実装するのは困難です。疑似乱数は簡単に生成でき、PHP には mt_rand() など、それらを取得するための複数の関数が用意されています。Mt_rand は、他のオプションに比べて品質の高いメルセンヌ ツイスター疑似乱数アルゴリズムを使用します。

PHP でランダムな画像を生成する場合は、乱数以上のものが必要です。画像の各ピクセルに対してランダムな色の値を作成する必要があるためです。おそらく、このようなことをしたいと思うでしょう (これは、50*50 画像の各ピクセルの色割り当てを含むマトリックスを生成します。実際の画像に変換するには、GD または ImageMagick を使用する必要があります)。

 <?php
 $pixels = array();
 for($i = 0; $i < 50; ++$i)
 {
     $pixels[$i] = array();
     for($j=0; $j < 50; ++$j)
     {
         $pixel[$i][$j] = hexdec( sprintf("%02X%02X%02X", mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255) ) );
     }
 }
于 2012-06-25T23:20:37.233 に答える