php生成随机数的函数2007-10-06 16:12function getRandomnum($n)
{
      if ($n < 1 || $n>10)
         return "";
      $ary_num= array(0,1,2,3,4,5,6,7,8,9);
      $return ="";
      for ($i=0;$i<$n;$i++)
      {
          $randn = rand(0,9-$i);
          $return .= $ary_num[$randn];
          $ary_num[$randn] = $ary_num[9-$i];
      }
      return $return;
}

function getrandomnum($n)
{
$dataset=array(0,1,2,3,4,5,6,7,8,9);
$randomNO=implode('',array_rand($dataset,$n));
return $randomNO;
} ------------------
要产生随机数用PHP 的函数也可以,调用JS来解决也行

解决方案 »

  1.   

    (1):首先,给srand()提供一个”种子”;,它是一个unsigned_int类型的值。
    (2):然后,调用rand(),它会根据提供给srand()的值返回一个随机数(范围在_0~32767之间)
    (3):根据需要多次调用rand(),不断得到新的随机数。
    (4):无论什么时候可以给srand()提供一个新的“种子”,从而进一步“随机化”rand()的
    输出结果。php精华文摘 www.jmeao.com/web/php
      

  2.   

    楼上正解
    没有第一行在实际操作中往往是可行的,但也有例外,虽然它的几率小得可以忽视
    srand()的作用是重新设置种子值,因为rand()是以种子值为基础,根据一定的公式来算出随机值的,所以在理论上,rand()可能会产生相同的值,为了使这种可能性降至基本为0,建议使用rand()前用srand()重新设置种子值.
      

  3.   

    mt_srand((double)microtime() * 1000000)//播下一个更好的随机数发生器种子
    $randval = mt_rand(0,5); //生成更好的随机数
    楼主用上面两个函数效果更好,理由见注释,呵呵
    不过"自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已自动完成。"