本帖最后由 dsmyphp 于 2012-01-17 15:24:54 编辑

解决方案 »

  1.   

    唯一值?
    time();是一直往后递加的!
    不允许操作数据库!
    我现在写的,只能每10天数不同,部分分钟的数不同,但是在往前加一位和后加一为数,变的不可想象的复杂了。/。。
      

  2.   

    单CPU的话,microtime获取的值就可以唯一了吧,问题是符合你要求吗。。你也没描述,数据什么格式呢?或借助文件锁或者内存shmop 来程序控制一个时间只能生成一个值
      

  3.   

    <?php
    //$cc=time();
    //echo $cc."<br>";$ceshi1=1326694830;
    $ceshi2=1326694849;$csfen=substr($ceshi2,6,2);
    $csmiao=substr($ceshi2,8,2);
    $fen=substr($ceshi1,6,2);
    $miao=substr($ceshi1,8,2);
    echo $fen;
    echo "<br>";echo $miao;
    echo "<br>";$chushi=110;                 //初始天数
    $dangqian=145;            //当前天数
    $bianliang=2.3;        //更新速率
    $beishu=10;          //倍数
    $dierwei=substr($dangqian,1,1);
    echo $dierwei;
    echo "<br>";//$dangqianH=222;
    //$beishuH=10;$gengxin=($dangqian-$chushi)*2;
    echo $gengxin;
    echo "<br>";function shuzu($a0,$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9){
    global $arr;
    global $bianliang;
    $arr=array((int)("$a0"*$bianliang),(int)("$a1"*$bianliang),(int)("$a2"*$bianliang),(int)("$a3"*$bianliang),(int)("$a4"*$bianliang),(int)("$a5"*$bianliang),(int)("$a6"*$bianliang),(int)("$a7"*$bianliang),(int)("$a8"*$bianliang),(int)("$a9"*$bianliang));
    }
    if($dierwei==4){
     shuzu(9,7,18,6,5,8,3,15,11,5);  //10天为单位
    }if($dierwei==5){
     shuzu(5,7,7,8,13,11,4,9,5,18);
    }$he=array_sum($arr);//计算数组中所有值的和。$beishu10=(int)(($dangqian-$chushi)/10);  //转为10倍数的整数3$beishuhe=$beishu10*$he;$gewei=($dangqian-$chushi)-($beishu*$beishu10); // 个位的数$geweihe="";                //个位值的和for($i=0;$i<=$gewei;$i++){
    $geweihe=$geweihe+$arr[$i];   //5数相加37
    }echo $zongshu=$geweihe+$beishuhe; //每天的和//$btgengxin=$he*$dd+();
    echo "<br><br><br>";
    ?>
      

  4.   

    需要再详细描述,还是不太清楚,
    需要什么样的规律,你最后那行>>>的也没看懂
      

  5.   

    不知道你想达到什么目的
    但是
    $ceshi2=1326694849;
    $csfen=substr($ceshi2,6,2); //分
    $csmiao=substr($ceshi2,8,2);//秒难道你的时间是百进制的吗?
    至少也不便于验算
      

  6.   

    LZ应该是想模拟一个数据给老大看最近一小时是 XX
    最近一天是   XXXXX
    最近一个月是 XXXXXXXXXXX数字越来越大,并且有一定规律好吧,其实咱觉得纯粹用基数+随机数的方式就行了...
      

  7.   

    $total = rand(($time-$num)*$multiple,($time-$num+59)*$multiple);
      

  8.   

    有rand又不存数据库,肯定是不行的。
      

  9.   

    不能用数据库的话,写临时文件总可以吧...memcached...redis...都不行的话,就只能用php做长进程脚本了或者一个php脚本A长进程保存、递增数据,并且发布数据,另外一个php脚本B通过某种方式获取A发布的数据并展示
      

  10.   

    因为不能写数据库,不能其他方式储存计算结果。(所以不可能用rand相关函数)
    所以所有运算只能根据每秒递增上去的秒数,而引起的分,小时,天,10天的数字变化而生成具有规律的最后可逆转回来的和。
      

  11.   

    数字可以重复,只是让它最大限度的减少重复
    规律,因为要逆转回来,所以没有规律我认为逆转不回来。。什么要的规律凭自己喜好。举个例子。
    当前时间time获得时间119,初始设定时间为100。
    我想要在过每一秒或一分钟都加一个自己设定的值(可重复可不重复),
    然后到了130秒,我需要把前面所有加上的值加上去,在加上119到130之间加上去的值。
    因为这些值有必须有规律才能记住要次最后的值,切不允许其他介质存储当前得到值,肯定在一段时间后要循环使用(所以每次的值)。