首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不包括数字8和9的随机4位数

不包括数字8和9的随机4位数
EN

Stack Overflow用户
提问于 2015-04-28 19:24:51
回答 3查看 876关注 0票数 1

我需要生成一个随机的4位数,但是不包括8和9。

这是我现在使用的代码,但显然不排除8和9,

代码语言:javascript
复制
rand(pow(10, 4 - 1), pow(10, 4) - 1);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-28 19:29:02

这样也行。

代码语言:javascript
复制
$allowedNumbers = range(0, 7);
$digits = array_rand($allowedNumbers, 4);
$number = '';
foreach($digits as $d){
    $number .= $allowedNumbers[$d];
}

echo $number;

这里的好处是您可以通过创建一个允许的数字数组来指定允许的字符。它还允许您包含数组中的任何字符,包括字母或单词。

票数 3
EN

Stack Overflow用户

发布于 2015-04-28 19:26:56

这应该适用于你:

这里我用mt_rand()得到随机数,然后用base_convert()将它转换为8 (0-7,意思是No8或9)。最后,我只使用substr()的前4位数字。

代码语言:javascript
复制
echo $number = substr(base_convert(mt_rand(), 10, 8), 0, 4);
票数 2
EN

Stack Overflow用户

发布于 2015-04-28 19:27:00

有点像?

代码语言:javascript
复制
$randomNumber = rand(0,7) . rand(0,7) . rand(0,7) . rand(0,7);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29928152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档