rand() 函数错误:max(1) is smaller than min(2)

本日写一个php小项目时,在利用 mt_rand() 函数时,由于传入的值为变量,就碰着了 mt_rand() 函数的报错问题,固然不是什么大的问题,但也记录一下,给本身提个醒!

mt_rand() 函数错误详情:

Warning: mt_rand(): max(6) is smaller than min(106)

白话文:

mt_rand() 函数报错,最大的数 小于 最小的数

mt_rand() 错误原因:

通过搜索资料,查到下面的一段说明

在PHP 5.3.3版本以前,mt_rand($a, $b) 传入的参数 $a 和 $b 二者没有数字巨细较量的限制,可是自 php 的 5.3.4 版本开始,传入的参数必需满意 $a <= $b,即 mt_rand(1, 1) 和 mt_rand(1, 2) 是可以的,可是 mt_rand(2, 1) 就会报错:mt_rand(): max(1) is smaller than min(2)。

办理方案

通过上面的一段话,可以具体的相识到,mt_rand() 第一个参数的的值必然要便是或小于第二个参数的值,这样 mt_rand() 函数才气正常的被利用。

假如我们传入 mt_rand() 函数的参数是一个变量,在传入之前要做好巨细的判定!

示例代码:

<?php $a = 5; $b = 4; // 判定要传入变量 $a 与 $b 的巨细 if($a <= $b){     echo mt_rand($a,$b); }else{     echo mt_rand($b,$a); } ?>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8881.html