今天寫一個php小項目時,在使用 mt_rand() 函數時,由于傳入的值為變量,就遇到了 mt_rand() 函數的報錯問題,雖然不是什么大的問題,但也記錄一下,給自己提個醒!

mt_rand() 函數錯誤詳情:

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

白話文:

国产视频appmt_rand() 函數報錯,最大的數 小于 最小的數

mt_rand() 錯誤原因:

国产视频app通過搜索資料,查到下面的一段說明

国产视频app在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)。

解決方案

国产视频app通過上面的一段話,可以詳細的了解到,mt_rand() 第一個參數的的值一定要等于或小于第二個參數的值,這樣 mt_rand() 函數才能正常的被使用。

国产视频app如果我們傳入 mt_rand() 函數的參數是一個變量,在傳入之前要做好大小的判斷!

示例代碼:

<?php
$a = 5;
$b = 4;
// 判斷要傳入變量 $a 與 $b 的大小
if($a <= $b){
    echo mt_rand($a,$b);
}else{
    echo mt_rand($b,$a);
}
?>