2014-04-01 17 views
11

Tôi đang cố gắng tạo một bảng với php cho vòng lặp, liệt kê các số. Một cái gì đó như thế này:Đối với bảng vòng lặp trong PHP

1 | 2 | 3 | 4 | 5 
2 | 3 | 4 | 5 | 1 
3 | 4 | 5 | 1 | 2 
4 | 5 | 1 | 2 | 3 
5 | 1 | 2 | 3 | 4 

Tôi vẫn gặp sự cố khi thực hiện, điều này thực sự khá đơn giản, nhưng tôi không thể giải quyết được. Cho đến nay tôi có đoạn mã sau:

<?php 
echo "<table border='1'><br />"; 

for ($row = 0; $row < 5; $row ++) { 
    echo "<tr>"; 

    for ($col = 1; $col <= 4; $col ++) { 
     echo "<td>", ($col + ($row * 4)), "</td>"; 
    } 

    echo "</tr>"; 
} 

echo "</table>"; 
?> 

Tuy nhiên, điều này chỉ tạo ra như sau:

1 | 2 | 3 | 4 
5 | 6 | 7 | 8 
9 | 10 | 11 | 12 
13 | 14 | 15 | 16 
17 | 18 | 19 | 20 

Cảm ơn bạn, bất kỳ trợ giúp sẽ được đánh giá cao!

+2

này nên g ive bạn một ý tưởng '$ a = mảng (1,2,3,4,5); array_unshift ($ a, array_pop ($ a)); ' –

+1

Điều này được gọi là" hàng đợi "trong cấu trúc dữ liệu. Đọc http://www.phpmoot.com/other-sorting-options/ –

+0

Không phải hàng đợi ... có mùi như số học mô-đun đối với tôi. – EthanB

Trả lời

15
<?php 
echo "<table border='1'><br />"; 

for ($row = 0; $row < 5; $row ++) { 
    echo "<tr>"; 

    for ($col = 0; $col < 5; $col ++) { 
     echo "<td>", (($col + $row) % 5) + 1, "</td>"; 
    } 

    echo "</tr>"; 
} 

echo "</table>"; 
?> 
+0

Điều này thật tuyệt, cảm ơn bạn – afnizarnur

6
echo "<table border='1'><br />"; 
for ($i = 0; $i < 5; $i++) { 
    echo "<tr>"; 
    for ($j = 0; $j < 5; $j++) { 
     echo "<td>", ($j+$i)%5+1, "</td>"; 
    } 
    echo "</tr>"; 
} 
echo "</table>"; 
3

phiên bản của tôi:

<?php 
echo "<table border='1'><br />"; 
$i=1; 
for ($row = 0; $row < 5; $row ++) { 
    echo "<tr>"; 
    $cont = 0; 
for ($col = $i; $col <= 5; $col ++) 
    { 
    echo "<td>", ($col), "</td>"; 
    $cont++; 
    } 
if($cont < 5) 
{ 
for($col = 1; $col <= 5 - $cont; $col++) 
{ 
    echo "<td>", ($col), "</td>"; 
} 
} 

echo "</tr>"; 
$i++; 
} 

echo "</table>"; 

Codepad: http://codepad.viper-7.com/JZogNY

2

Version My

<?php 
echo "<table border='1'><br />"; 

for ($row = 0; $row < 5; $row ++) { 
    $k=$row; 

    for ($col = 0; $col < 5; $col ++) { 
     echo "<td>", (($k++)%5)+1, "</td>"; 
    } 

    echo "</tr>"; 
} 

echo "</table>"; 
?> 
0
<?php 

    echo '<table border="1">'; 
    $i = 0; 
    for($i =1; $i<=5; $i++){ 
     echo '<tr> 
      <td>'.$i.'</td>'; 
      $x = 0; 
      for($x=1; $x<=4; $x++){ 
       $y = $x + $i; 
       $z = ($y>5) ? $y-5 : $y; 
       echo '<td>'.$z.'</td>'; 
      } 
     echo '</tr>'; 
    } 

    echo '</table>'; 
?> 
+1

xem xét thêm giải thích thay vì thêm mã. –

Các vấn đề liên quan