如何生成以下随机数组:
array(1, 0 , 0, 1, 1, 1, 1, 0, 1, 0, 0)
与length = n
?
当然,for
解决方案始终存在。但对此有任何单行简单解决方案,例如array_fill
和mt_rand(0, 1)
的任意组合吗?
答案 0 :(得分:1)
如果需要,您可以结合使用array_map
和range
(或array_fill
)来生成随机值。
$length = 10;
$randBits = array_map(
function () {
return mt_rand(0, 1);
},
range(0, $length - 1)
);
答案 1 :(得分:0)
将范围与mt_rand
一起使用Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 1 [4] => 0 [5] => 0 )
输出:
{{1}}
答案 2 :(得分:-1)
试试这个,
function randome_array($n)
{
$array=array();
$x = 1;
while($x <= $n) {
$temp = mt_rand(0,1);
array_push($array,$temp);
$x++;
}
return $array;
}
print_r(randome_array(5));
我希望它会有所帮助。
答案 3 :(得分:-2)
好吧,正如你所提到的,你可以为解决方案提供一行。
for ($i = 0; $i < count($arr); $i++) $arr[$i] = rand(0, 1);
array_fill
,你可以简单地将它与随机函数一起使用
$arr = array_fill (0, count($arr), rand(0, 1));
答案 4 :(得分:-2)