[英]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.