PHP字母表 - A到Z,Z到A.

时间:2015-03-30 18:15:42

标签: php

我试图用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>

1 个答案:

答案 0 :(得分:1)

我们开始:要向后添加向后字母表,我将$ letter的最大数量更改为115.这是65(A值)+ 26(全字母)+ 24(X - B)。

为了完成向后字母表,我添加了变量$ realletter,它与$ letter保持相同,最高为90.从91到115,它从倒数计算,从90减去高于90的数量。这将是90 - ($ letter - 90),即。对于94 - &gt; 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>");
?>

希望有所帮助!