我需要生成一个随机的4位数,但是不包括8和9。
这是我现在使用的代码,但显然不排除8和9,
rand(pow(10, 4 - 1), pow(10, 4) - 1);发布于 2015-04-28 19:29:02
这样也行。
$allowedNumbers = range(0, 7);
$digits = array_rand($allowedNumbers, 4);
$number = '';
foreach($digits as $d){
$number .= $allowedNumbers[$d];
}
echo $number;这里的好处是您可以通过创建一个允许的数字数组来指定允许的字符。它还允许您包含数组中的任何字符,包括字母或单词。
发布于 2015-04-28 19:26:56
这应该适用于你:
这里我用mt_rand()得到随机数,然后用base_convert()将它转换为8 (0-7,意思是No8或9)。最后,我只使用substr()的前4位数字。
echo $number = substr(base_convert(mt_rand(), 10, 8), 0, 4);发布于 2015-04-28 19:27:00
有点像?
$randomNumber = rand(0,7) . rand(0,7) . rand(0,7) . rand(0,7);https://stackoverflow.com/questions/29928152
复制相似问题