PHP rand函数生成错误的值

时间:2015-09-01 08:35:44

标签: php random

我对php函数rand有一点问题。数组是一个数字介于0.1和1之间的数组。

 $min = $this->array[0]*10;
 $max = $this->array[1]*10;
 array_push($this->motor, rand($min, $max), rand($min,$max));

偶尔rand在其余时间生成0,rand函数正常工作。有人知道我做错了吗?

2 个答案:

答案 0 :(得分:2)

rand仅适用于整数精度。所有浮点输入都转换为整数。根据定义浮点数并不完全精确,略低于1的值将被截断为0。

答案 1 :(得分:0)

试试这个:

$randomNumber = (float)rand($min, $max) / (float)$max;