note 47727 deleted from ref.bc by betz

From: Date: Fri, 26 Nov 2004 17:46:26 +0000
Subject: note 47727 deleted from ref.bc by betz
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-81071@lists.php.net to get a copy of this message
Note Submitter: Jose Andres Ruiz ---- LARGE RANDOM NUMBER GENERATOR <? // GENERA UN Nº ALEATORIO DE CUALQUIER TAMAÑO // N = Valor mínimo (Debe ser una cadena) // M = Valor máximo (Debe ser una cadena) // // Si strlen(M - N) > strlen(mt_getrandmax())-1 el // valor máximo generado será algo inferior a M // Este error es insignificante para la mayoría de los usos function rand_big($n,$m) { $m=bcsub($m,$n); $m=bcadd($m,"1"); $c=strlen($m); $mx=strlen(mt_getrandmax())-1; $s=$c%$mx; $v=floor($c/$mx); if($s==0){$s=$mx;$v--;} $mx=pow(10,$mx)-1; for($i=0;$i<$v;$i++) { $a=$a.mt_rand(0,$mx); } if(strlen($a)+$s==$c) { $b=substr($m,0,$s); } else { $b=pow(10,$s); } $a=mt_rand(0,$b-1).$a; return(bcadd($a,$n)); } ?> ---- Reason: useless example

« previous php.notes (#81071) next »