2013-12-24 94 views
0

我將盡可能簡短地說明。使用PHP在HTML表格中顯示字母表

如何使用PHP將字母表中的所有26個字母顯示到表中(6行4列,最後一行2列)?

每個表塊應該包含字母表中的字母,因此,例如:

ABCD

EFGH

IJKL

MNOP

QRST

UVWX

Y Z

我應該在PHP中編寫函數,我假設將它回顯到HTML表中。

任何幫助,將不勝感激謝謝!

+0

你嘗試過什麼嗎?你可能想看看循環。 –

+0

是循環是我想的。我在PHP方面的經驗很少,但是我被要求幫助開發人員工作,他們希望我這樣做,我真的不知道如何haha – user2584238

回答

6

這可能是一個實現

// All letters of the alphabet 
$alphabet = range('A', 'Z'); // range returns an array 

$table = '<table>'; 

for ($i = 0; $i < count($alphabet); $i++) { 

    // Every fourth element start a new table line 
    if ($i % 4 == 0) 
     $table .= '<tr>'; 

    $table .= '<td>' . $alphabet[$i] . '</td>'; 

    // Every fourth element end a table line. Do not forget the last element 
    if (($i-3) % 4 == 0 || $i+1 == count($alphabet)) 
     $table .= '</tr>'; 
} 

$table .= '</table>'; 

// Do whatever you want with the output string 
echo $table; 
+0

這是可行的,非常感謝!現在我只需要查看它,以確保我清楚地瞭解發生了什麼以防他們問我哈哈 – user2584238

+2

爲什麼要使用'$ alphabet ='ABCDEFGHIJKLMNOPQRSTUVWXYZ';'?爲什麼不''字母表=範圍('A','Z');' – Ohgodwhy

+0

好的,我加了你的建議!我沒有意識到'range'可以處理非數字。另一方面,初學者的可讀性較差。 – andreas

1

for循環和模運算符應該做的伎倆。

$string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
$length = strlen($string); 

echo "<table>"; 

for ($i=0; $i<$length; $i++) { 
    if($i % 4 == 0) echo "<tr>"; 
    echo "<td>".$string[$i]."</td>"; 
    if($i % 4 == 3 || $i==$length) echo "</tr>"; 
} 

echo "</table>"; 
+1

最後它會是$ i + 1 == $ length,我也差點陷入困境。 ;) – andreas

+0

這也適用。非常感謝你的幫助 – user2584238