本日写一个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); } ?>