Re: [請益] random()的寫法

看板PHP作者 (守護神)時間19年前 (2005/11/28 11:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《sonyblue (Gloomy Bear)》之銘言: : 標題: [請益] random()的寫法 : 時間: Sun Nov 27 01:22:43 2005 : 請問一下,random()這個函數 : 用php怎麼實做出來...... : 還是有資料可以參考一下 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 210.71.10.1 : 推 johnney:你要的是?php source 或者是線上 manual? 11/27 12:27 : 推 ottokang:請去PHP手冊搜尋"random" 11/27 19:13 : 推 sonyblue:不是用法哦,是這個函數的寫法= = 11/28 00:52 : 推 EShensh:變數=rand(最小值,最大值); 11/28 06:01 : → EShensh:實作? 想實做亂數,直接抓 Timer 如何... 11/28 06:02 //首先要有亂數表 //然後就可以從 randTest() 裡取亂數了 //當然,照慣例,以下範例都是唬爛出來的 XD $randMapSize=256; $randMap="3921487237584330912831029309210947281375464823209146580127401928 \ 9392174382653265743812739128321473286512310928319274821657561728 \ 1093701091829742187432657326518291731019823917248327655832742183 \ 0121029831927418243265312381927432657102392174835091293129874321"; define('_rand_map_',$randMap); define('_rand_map_size_',$randMapSize); define('_rand_seed_',false); function randTest($min=null,$max=null) { $min=intval($min); $max=intval($max); $timeNow=explode(" ",microtime()); $timeNow[0]=intval(substr($timeNow[0],2)); if(empty(_rand_seed_)) { $startPoint=($timeNow[1]-$timeNow[0]) % _rand_map_size_; $numberLen=date("s"); } $randNumber=substr(_rand_map_,$startPoint,$numberLen); if($min>=0 && $max>=0 && $max>$min) { while($randNumber < $min || $randNumber > $max) { $startPoint--; if($min > $randNumber) $randNumber+=$startPoint; if($max < $randNumber) $randNumber%=$max; } } return $randNumber; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.158.10
文章代碼(AID): #13Yddiwf (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #13Yddiwf (PHP)