[英]PHP more elegant way to make random 1 or 0 binary pattern
我想知道是否有一种更优雅的方式在 PHP 中创建 4 个 1 和 0 的随机组合。 我这样做的方式有效,但我很好奇是否有办法用更少的代码做同样的事情?
$b1 = rand(0,1);
$b2 = rand(0,1);
$b3 = rand(0,1);
$b4 = rand(0,1);
$randpattern = $b1.$b2.$b3.$b4;
稍微短一点:
$randpattern = substr(decbin(rand(16, 31)), -4);
rand(16,31)
将生成一个介于 16 和 31 之间的随机数,它被转换为二进制数,使用decbin()
,介于 10000 en decbin()
之间。最后substr()
只选择最后四个字符。
当然:
str_pad(decbin(rand(0, 15)), 4, '0', STR_PAD_LEFT);
rand()
一次。 它会给出一个 0 到 15 之间的随机数。二进制的 15 是 1111。你也可以用二进制写 15 来表示清楚。 rand(0, 0b1111)
您可以简单地使用循环:
$randpattern = '' ;
while( strlen($randpattern) < 4 )
$randpattern .= rand(0,1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.