你觉得你过不去的坎的时候,有一天也会乐观的和别人分享。或许这就是成长。有时候,闭上眼睛,放下骄傲,承认是自己错了,不是认输,而是成长。
今天写一个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); } ?>
到此这篇关于php mt_rand() 函数错误:max(1) is smaller than min(2)就介绍到这了。今天你是否成功取决于你昨天的态度,今天的态度决定了你明天是否成功。更多相关php mt_rand() 函数错误:max(1) is smaller than min(2)内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!