大家好,我是 php 新手,我必须完成我正在做的 php 课程的作业,但我在理解它时遇到了一些麻烦。
基本上我必须使用循环和字符串创建一个具有以下输出的程序:
a 00000000
b 00000000
c 00000X00
d 00000000
e 00000000
f 000X0000
g 00000000
h 00000X00
12345678
“用户在开头输入二维字符串的位置。基于此字符串(坐标)在桌子上绘制“x”。”
非常感谢您的帮助。
我完全同意@Marc B 你需要自己做功课的观点。您可以在 php.net 网站上了解 PHP 数组以及如何使用它们:http: //us3.php.net/manual/en/book.array.php和这里:http ://www.w3schools.com /php/php_arrays.asp
有使用循环(While、For、Foreach)生成多数组的自动方法,但您可以弄清楚这些。这是一种手动方式:
$array = array('a'=>array(1 => 0,2 => 0,3 => 0,),'b'=>array(1 => 0,2 => 0,3 => 0,));
然后您需要构建一个 html 输入并使用 $_GET 或 $_POST 接收输入
使用该输入来决定在哪里执行 Marc B 所说的操作:
$array[$y][$x] = 'X';
我想你会想要这样的东西。
源代码:
<?php
$Y = range('a', 'h');
$X = range(1, 8);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
<div id="in">Coord X: <input type="number" min="1" max="8" name="x" value="<?php echo $X[array_rand($X)]; ?>"></div>
<div id="in">Coord Y: <input type="text" name="y" value="<?php echo $Y[array_rand($Y)]; ?>"></div>
<br /><input id="subm" type="submit" value="DRAW!">
<input name="reset" id="reset" type="submit" value="reset">
</form>
<table>
<tfoot>
<tr>
<td></td><?php foreach($X as $x) echo "<td><strong>$x</strong></td>"; ?>
</tr>
</tfoot>
<tr>
<?php
if(isset($_GET['reset']))
{
session_destroy();
header('Location: thisPage.php');
}
$coords = !empty($_GET) ? $_GET['x'].$_GET['y'] : NULL;
$_SESSION['coords'][] = $coords;
for($i = 0; $i < count($Y); $i++)
{
echo "<tr><td><strong>$Y[$i]</strong></td>";
for($j = 0; $j < count($Y); $j++)
{
if(isset($_GET) && in_array($X[$j].$Y[$i], $_SESSION['coords']))
{
echo '<td id="ex"><strong>X</strong></td>';
}
else
{
echo '<td>0</td>';
}
}
}
echo "</tr>";
?>
</tr>
</table>