我有一个问题,我需要在PHP中的随机值。我完成了所有工作。但是当我需要时,比方说,10个随机值,我需要其中8个至少是某个整数。我怎样才能做到这一点? 亲切的问候, 利昂
<?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
但是,我需要在矩阵的上半部分恰好有8个1。我不知道如何实现它,因为现在它将在8下做一个随机数。
答案 0 :(得分:0)
我会采取另一种方法:
$vertices * ($vertices - 1) / 2
个职位(10)。$edges
次1
次,其余0
次(8和2次)。1
和2 0
来填充数组。