全随机和半随机有什么区别

时间:2012-06-25 05:21:24

标签: php random

任何人都知道完全随机和半随机函数之间的区别?我怎样才能在PHP中使用它们?有什么例子吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你可能意味着伪随机与真随机。真正的随机数通常是使用“TRNG”(真正随机数生成器)从环境噪声或其他来源创建的,并且难以以编程方式实现。伪随机数更容易生成,PHP为您提供了多种函数,包括mt_rand()。 Mt_rand使用Mersenne twister伪随机算法,与其他选项相比,该算法质量高。

如果您在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) ) );
     }
 }