我想回显6行6列的数字。第一行是10-20,下一行是20-30,以此类推。我想在一行中同时回显6个数字,这样代码就能保持整洁和高效。有人能指引我正确的方向吗?
这是我到目前为止的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Indzendopdracht 051R3</title>
</head>
<body>
<?PHP
function printBingocard(){
$bingoNumbers = array(
"numbers" => array(10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69)
);
$rand_keys = array_rand($bingoNumbers, 1);
foreach($bingoNumbers as $bingoNumbers){
echo "<table border='1'>";
echo "<tr>";
if($bingoNumbers > 10 and < 20){
echo "<td>" . $bingoNumbers[array_rand($bingoNumbers)] . "<br />" . "</td>";
}
else{
echo "";
}
echo "</tr>";
echo "</table>";
}
}
printBingocard();
?>
</body>
</html>
您在$ bingonnumbers数组中声明了一个名为"numbers"的数组中的数字。
所以当你循环它的时候你需要使用"numbers"数组。像这样…
foreach($bingoNumbers["numbers"] as $bn){
if($bn > 10 && $bn < 20){
echo "<td>" . $bingoNumbers["numbers"][array_rand($bingoNumbers["numbers"])] . "<br />" . "</td>";
}
}
还有,你用了AND这个词,而不是&&在你的比较中,并没有在第二次比较中包含变量
$bungoNumbers > 10 and < 20 should be $bn>10 && $bn<20
现在,你需要回显表。您需要将每一行放入另一个数组中,以便稍后以正确的顺序将它们回显到表中。因为键的值是随机的。
一样……
$rows=array();
foreach($bingoNumbers["numbers"] as $bn){
if($bn > 10 && $bn <= 20){
$rows["row1"][]="<td>" . $bingoNumbers["numbers"][array_rand($bingoNumbers["numbers"])] ."</td>";
}
if($bn > 20 && $bn <= 30){
$rows["row2"][]= "<td>" . $bingoNumbers["numbers"][array_rand($bingoNumbers["numbers"])] ."</td>";
}
if($bn > 30 && $bn <= 40){
$rows["row3"][]= "<td>" . $bingoNumbers["numbers"][array_rand($bingoNumbers["numbers"])] ."</td>";
}
if($bn > 40 && $bn <= 50){
$rows["row4"][]= "<td>" . $bingoNumbers["numbers"][array_rand($bingoNumbers["numbers"])] ."</td>";
}
if($bn > 50 && $bn <= 60){
$rows["row5"][]= "<td>" . $bingoNumbers["numbers"][array_rand($bingoNumbers["numbers"])] ."</td>";
}
if($bn > 60 && $bn <= 70){
$rows["row6"][]= "<td>" . $bingoNumbers["numbers"][array_rand($bingoNumbers["numbers"])] ."</td>";
}
}
然后需要遍历rows数组,并遍历其内容以回显行。
一样……
echo "<table>";
foreach($rows as $row){
echo "<tr>";
foreach($row as $r){
echo $r;
}
echo "</tr>";
}
echo "</table>";
希望有帮助:)下面是你完成的代码的PHP SANDBOX