我正在尝试用PHP编写一个脚本,该脚本将生成一个包含垂直字母的表。它只需将字母从a回显到Z,然后从Z回显到a,当涉及到a时,它将再次从a到Z,从Z到a。
到目前为止,我的代码只是从A到Z,然后再从A到Z。
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Vertikální abeceda</title>
</head>
<body>
<form method="post">
<input type="number" placeholder="SLOUPCE" name="sloupce" />
<input type="number" placeholder="ŘÁDKY" name="radky" />
<input type="submit" value="Vytvořit tabulku" /><br><br>
</form>
<?php
if(isset($_POST['radky']) && isset($_POST['sloupce'])) {
$col = $_POST['sloupce'];
$row = $_POST['radky'];
$cislo = 0;
echo ("<table rules='all'>");
for($i = 1; $i<=$row; $i++) {
echo ("<tr>");
for($c = 0; $c<$col; $c++) {
$pismeno_id = 64;
$cislo = $i + ($c*$row);
$pismeno = $cislo + $pismeno_id;
while($pismeno > 90) {
$pismeno = $pismeno - 26;
}
echo ("<td>". "&#" . $pismeno . "</td>");
}
echo ("</tr>");
}
echo ("</table>");
}
?>
</body>
</html>
我们开始:为了将向后的字母表添加到cicle中,我将$letter的最大数目更改为115。这是65(A的值)+26(全字母表)+24(X-B)。
为了完成向后的字母表,我添加了变量$realletter,它在90之前与$letter保持相同。从91到115,通过从90减去高于90的量,它向后计数。这将是90-($letter-90),即94->90-(94-90)=90-4=86。
<?php
$row = 26;
$col = 26;
echo ("<table rules='all'>");
for($i = 0; $i<=$row; $i++) {
echo ("<tr>");
for($c = 0; $c<$col; $c++) {
$letter_id = 65;
$number = $i + ($c*$row);
$letter = $number + $letter_id;
while($letter > 115) {
$letter = $letter - 50;
}
if($letter > 90){
$realletter = 90 - ($letter-90);
}else{
$realletter = $letter;
}
echo ("<td>". "&#" . $realletter. "</td>");
}
echo ("</tr>");
}
echo ("</table>");
?>
希望能有所帮助!