2015-03-30 61 views
0

我想在PHP中執行一個腳本,它將生成一個垂直字母表的表格。它將簡單地回顯字母從A到Z然後從Z回到A,當涉及到A時,它將再次從A到Z以及從Z到A.PHP字母表表格 - 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> 
+0

請做一個期望輸出的例子。同時顯示你已經嘗試過的東西 – Rizier123 2015-03-30 18:16:54

+0

所以編寫一些代碼總是一個很好的起點......一些提示:'$ alphabet = range('a','z');''foreach($ alphabet作爲$字母){..}'和'$ alphabet = array_reverse($ alphabet);' – 2015-03-30 18:17:04

+0

好吧,這看起來不像這個:http://stackoverflow.com/q/29333975/3933332你不覺得嗎? ? – Rizier123 2015-03-30 18:22:43

回答

1

在這裏,我們去:爲了向後字母添加到我改變$信的最大數量115那65 cicle(A值)+ 26(全字母)+ 24(X-B)。

爲了完成反向字母表,我添加了變量$ realletter,它與$字母相同,最多爲90.從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>"); 
?> 

希望有幫助!

+0

而且**你**改變了哪些** **和**爲什麼**改變了它? (只是maaaybe有益於OP和更多的讀者) – Rizier123 2015-03-30 18:23:51

+0

哇!對於真正的:http://stackoverflow.com/questions/29333975/php-vertical-alphabet-using-for-cycle#comment46891492_29334472你剛剛提出OP問一個新的問題,所以你可以回答它,並獲得更多的聲譽?! – Rizier123 2015-03-30 18:29:40

+0

嗨Rizier,抱歉如果我做錯了什麼,我只是想問一個與我以前的問題有關的解決方案,我建議通過電子郵件發送它,但Edwin告訴我要創造一個新問題來獲得更多的聲譽。再次道歉:/ – 2015-03-30 18:46:20