2013-11-09 47 views
-1
<?php 

    $i=0; 
    while($i < 101){ 
     if($i%2==0){ 
      echo "<tr>".PHP_EOL; 
     } 

     echo "<td>".$i."</td>".PHP_EOL; 
     $i++; 

     if($i%2==0){ 
      echo "</tr>".PHP_EOL; 
     } 
    } 
?> 

該代碼生成一個包含100行和2列的表格。但是我想要做的是在rowcell的左側顯示排序的數字(upp爲100),並在rowcell的右側顯示其他內容(例如pow(rownumber))。我怎樣才能做到這一點?PHP表循環?

+0

你可以給你想要什麼例子? –

回答

1

試試這個,會輸出100行與兩列

的數量和它的力量
<table> 
<?php 
for($i = 0; $i <= 100; $i++){ 

    echo sprintf('<tr><td>%s</td><td>%s</td></tr>', 
      $i, 
      pow($i, 2) 
     ); 
} 
?> 
</table> 
+0

它應該是「pow($ i,2)」,而不是它運作良好! :) 謝謝! – Yonetmen

+0

對此感到遺憾。 –

0

這是你在找什麼?

for($i=0; i<100; i++){ 
    if($i%2==0){ 
     echo "<tr>".PHP_EOL; 
    } 

    echo "<td>".$i."</td>".PHP_EOL; 
    echo "<td>Something Else</td>".PHP_EOL; 

    if($i%2==0){ 
     echo "</tr>".PHP_EOL; 
    } 
} 
0

您可以使用模數(和一個for循環太)

for ($i = 1; $i <= 100; $i++){ 
    $mod = ($i%2==0) ? true : false; 
     if($mod) echo "<tr>".PHP_EOL; 
     echo "<td>".$i."</td>".PHP_EOL; 
     echo "<td>". foo($bar) ."</td>".PHP_EOL; 
     if($mod) echo "</tr>".PHP_EOL; 
} 
+0

而不是'$ mod =($ i%2 == 0)? true:false;'做'$ mod = $ i%2 === 0;' – Mark

-1

爲什麼只用兩個選項使用模數?這個解決方案似乎更容易。你的$data是你想要顯示的東西的數組,當前是字母表。

$data = range('a','z'); 

foreach($data as $num => $elem) { 
    echo "<tr>".PHP_EOL; 
    echo "<td>".$num.</td>".PHP_EOL; 
    echo "<td>".$elem.</td>".PHP_EOL; 
    echo "</tr>".PHP_EOL; 
} 

如果您想讓它循環100次以上,只需製作大小適中的數組即可。

Foreach documentation

0
<?php 
$i=0; 
$j=0; 
    while($i < 101){ 

     if($i%2==0){ 
      $j++; 
      echo "<tr>"."<td>".$j."</td>".PHP_EOL; 

     } 

     echo "<td>".$i."</td>".PHP_EOL; 

     $i++; 

     if($i%2==0){ 
      echo "<td>any text</td>"."</tr>".PHP_EOL; 
     } 
    } 
?>