2012-06-25 41 views
0

任何人都知道完全隨機和半隨機函數之間的區別嗎?我如何在PHP中使用它們?任何例子?完全隨機和半隨機有什麼區別

謝謝!

+2

在哪裏你從這些條款中得到了什麼? – Gumbo

+0

有人告訴我半隨機更好地生成隨機圖像。 – Zendie

+0

我從來沒有聽說過「半隨機」功能。請首先澄清你在說什麼。 – deceze

回答

0

您可能是指僞隨機與真隨機。真正的隨機數字通常是使用「TRNGs」(真正的隨機數字生成器)從環境噪音或其他來源創建的,並且很難通過程序實現。僞隨機數字更容易生成,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))); 
    } 
}