Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-如何创建随机位流_Php_Arrays_Random - Fatal编程技术网

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;

而($x
array\u fill(0,count($arr),rand(0,1));
只会将第一个值设置为随机值,而不是在所有值中重复它。@Justinas你是对的,这是一个愚蠢的建议。无论采用哪种方式,内联for循环都可能是最快的解决方案,即使它与答案不完全匹配。我不想了解更多信息,我想要一个答案简单地使用
范围如何获得结果?请解释。谢谢你自己。你应该在问直接答案之前先问这个问题。!不能再用勺子喂你了…不,我没有。但它已被删除,我不知道为什么!请你解释一下如何使用
范围
生成比特流?谢谢你的漂亮回答。它如何应用于
数组\u填充
如您所述?@Trix在本例中,
array\u fill
基本上没有区别(将应用一些性能更改),因为您将使用随机生成的值覆盖它的值。