php-如何创建随机位流
如何生成以下随机数组:php-如何创建随机位流,php,arrays,random,Php,Arrays,Random,如何生成以下随机数组: array(1, 0 , 0, 1, 1, 1, 1, 0, 1, 0, 0) 使用长度=n 当然,的解决方案总是存在的。但是,在这个问题上有没有一个简单的解决方案,比如array\u fill和mt\u rand(0,1)的任何组合?好吧,正如你提到的,你可以用一行作为解决方案 for($i=0;$i
array(1, 0 , 0, 1, 1, 1, 1, 0, 1, 0, 0)
使用长度=n
当然,的
解决方案总是存在的。但是,在这个问题上有没有一个简单的解决方案,比如array\u fill
和mt\u rand(0,1)
的任何组合?好吧,正如你提到的,你可以用一行作为解决方案
for($i=0;$i
除此之外,由于您提到了array\u fill
,您也可以将其与随机函数一起使用
$arr=array_fill(0,count($arr),rand(0,1));
您可以尝试使用range()
范围-创建包含一系列元素的数组
有关更多信息,请检查使用mt_rand的范围
$random_bit_stream = array_map(function() {
return mt_rand(0,1);
}, range(1,6));
or
$random_bit_stream = array_map(function() {
return rand(0,1);
}, range(1,6));
print_r($random_bit_stream);
输出:
Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 1 [4] => 0 [5] => 0 )
您可以使用and组合(或数组填充
如果需要)生成随机值
$length = 10;
$randBits = array_map(
function () {
return mt_rand(0, 1);
},
range(0, $length - 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));
函数随机数组($n)
{
$array=array();
$x=1;
而($xarray\u fill(0,count($arr),rand(0,1));
只会将第一个值设置为随机值,而不是在所有值中重复它。@Justinas你是对的,这是一个愚蠢的建议。无论采用哪种方式,内联for循环都可能是最快的解决方案,即使它与答案不完全匹配。我不想了解更多信息,我想要一个答案简单地使用范围如何获得结果代码>?请解释。谢谢你自己。你应该在问直接答案之前先问这个问题。!不能再用勺子喂你了…不,我没有。但它已被删除,我不知道为什么!请你解释一下如何使用范围生成比特流?谢谢你的漂亮回答。它如何应用于数组\u填充
如您所述?@Trix在本例中,array\u fill
基本上没有区别(将应用一些性能更改),因为您将使用随机生成的值覆盖它的值。