使用PHP从A - Z循环

时间:2014-02-24 17:59:02

标签: php for-loop

如果它来自A-Y,我可以完美地制作表格,但如果我将它改为“Z”,那么它就不再适用了。

有人知道这个问题吗?

<table border="1">
<?php

    for($row=1; $row<=22; $row++){
        echo "<tr>";
        for($column="A"; $column <= "Y"; $column++){
            echo "<td> $row $column </td>";
        }   
        echo "</tr>";
    }
?>
</table>

4 个答案:

答案 0 :(得分:12)

您可以尝试:

<table border="1">
<?php
   for ($row=1; $row <= 22; $row++){
      echo "<tr>";
      foreach (range('A', 'Z') as $column){
         echo "<td> $row $column </td>";
      }   
      echo "</tr>";
   }
?>
</table>

答案 1 :(得分:3)

for($char = ord('a'); $row <= ord('z'); ++$char);
// chr($char) returns it to its character state

ord()返回字符代码并使它们成为数字。 chr()还原它们。使for变得容易。

答案 2 :(得分:0)

问题是

for($column="A"; $column <= "Y"; $column++){

你要求它循环,只要它是&lt;或=到Y,所以它在Z处停止。应该是

for($column="A"; $column <= "Z"; $column++){

但是如上所示range()在这种情况下会很好地工作。

答案 3 :(得分:0)

如果您不想使用range()而是使用for(如原始代码中所示),则应该有效:

<table border="1">
<?php

    for($row=1; $row<=22; $row++){
        echo "<tr>";
        for ($column='A'; $column!='AA'; $column++){ 
            echo "<td> $row $column </td>";
        }   
        echo "</tr>";
    }
?>
</table>