Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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 - Fatal编程技术网

在php中获取随机值,其中必须有精确的数量

在php中获取随机值,其中必须有精确的数量,php,Php,我有一个问题,我需要php中的随机值。这一切我都做得很好。但是当我需要,比方说,10个随机值时,我需要其中8个至少是某个整数。我怎样才能做到这一点? 亲切问候,, 利昂 但是,我需要在矩阵的上半部分正好有8个1。我不知道如何实现它,因为现在它将执行8以下的随机数。我将采用另一种方法: 有$vertices*($vertices-1)/2个位置需要填充(10) 应该有$edges时间1,其余0(8和2) 您可以用8个1和2个0填充数组 洗牌数组 在你的矩阵上循环,为你需要填充的每个位置弹出一个数

我有一个问题,我需要php中的随机值。这一切我都做得很好。但是当我需要,比方说,10个随机值时,我需要其中8个至少是某个整数。我怎样才能做到这一点? 亲切问候,, 利昂


但是,我需要在矩阵的上半部分正好有8个1。我不知道如何实现它,因为现在它将执行8以下的随机数。

我将采用另一种方法:

  • $vertices*($vertices-1)/2个
    位置需要填充(10)
  • 应该有
    $edges
    时间
    1
    ,其余
    0
    (8和2)
  • 您可以用8个
    1
    和2个
    0
    填充数组
  • 洗牌数组
  • 在你的矩阵上循环,为你需要填充的每个位置弹出一个数组元素

显示您的代码。生成随机数时,有一个“min”和“max”选项:好吧,生成十个整数,检查其中八个是否至少是某个整数。。如果不是,重新开始。这不是10个随机值:这是从特定集合中随机选择的2个随机值和8个值。生成两个随机数,然后只分配3(随机,因为你刚才在互联网上从某个家伙那里得到了它)作为($i=0;$i)变量的剩余
(如10,8)可以更改。你如何创建一个可以使用它的数组?我如何洗牌数组?我想这可能真的可以,谢谢!我现在有一个洗牌数组。我只是想说你可以使用
array\u fill
生成两个0和1的数组并合并它们。
shuffle()
结果和完成:-)
<?php
$vertices = $_POST["vertices"];
echo "Vertices: $vertices <br>";
$edges = $_POST["edges"];
echo "Edges: $edges <br>";
$length = $_POST["length"];
echo "Length: $length <br><br>";

$temp1 = $edges;

for($x = 0; $x < $vertices; $x++){
for($i = 0; $i < $x; $i++){
    echo "_   ";
}
for($y = $x; $y < $vertices; $y++){

    $value = rand(0,1);
    if($x == $y){ 
        echo "0   ";
    } else {
        if($value == 1 && $temp1 > 0){
            echo "1   ";
            $temp1--;
        } else {
            echo "0   ";
        }
    }
}
echo "<br>";
}
?>  
<html>
</font>
</html>
Vertices: 5 
Edges: 8 
Length: 4 

0 0 1 0 1 
_ 0 0 1 0 
_ _ 0 1 0 
_ _ _ 0 1 
_ _ _ _ 0