向变量添加/减去随机数

时间:2013-09-23 10:23:58

标签: php random

我想用php脚本创建一些随机的sql数据

目前我得到了最后一条记录,生成一个介于1和2之间的随机数...如果它是1我会在记录中添加一个随机数,如果它的a 2 i将从

中减去一个随机数

问题是它一直在吐出减去随机数!我只想要正数随机数。

$result = mysql_query("SELECT * FROM Data ORDER BY id DESC") 
    or die(mysql_error()); 

while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table

    $temp=$row['temp'];
    $light=$row['light'];

};

$name="Herbi";
$date=Date("o:m:d");
$time=Date("H:i:s");

$rand =rand(1,2);
$randnu =rand(1,10);

echo " rand:".$rand;
switch($rand){

    case 1:
        $temprand=$temp+$randnu;
        $lightrand=$light+$randnu;
    break;

    case 2:
        $temprand=$temp-$randnu;
        $lightrand=$light-$randnu;
    break;
};
echo"";
echo"randnu";
echo $randnu;
echo "   ";
echo"lightrand";
echo $lightrand;

1 个答案:

答案 0 :(得分:0)

根据您的代码,这是有效的,如果您的$ temp = 1和$ rand = 2,那么$ temprand将为-1。

你可以添加一个检查,你的$ temp和$ light应该总是大于或等于最大随机数,所以当你减去$ temp或$ light中的(max)随机数时,你最终会得到0。

if($row['temp']>=2){
  $temp=$row['temp'];
}else{
  $temp=2; //Max of $rand =rand(1,2);
}

或简写

$temp=($row['temp'] >= 2? $row['temp'] : 2);
$light=($row['light'] >= 10? $row['light'] : 10);