Intereting Posts

Печать многомерного массива в таблице с использованием For loop

Я хочу напечатать многомерный массив в таблице, используя только цикл «Только для цикла». Это $myArray

 $myArray = Array( [0] => Array ( [0] => 598 [1] => Introducing abc [2] => ) [1] => Array ( [0] => 596 [1] => Big Things Happening at abc [2] => ) [2] => Array ( [0] => 595 [1] => Should I send abc? [2] => ) [3] => Array ( [0] => 586 [1] => Things you need to know about abc :P [2] => ) 

);

обновить новый массив как var_dump($myArray );

Есть тонна различных подходов к этому, так почему бы не повеселиться.

Если вы ДОЛЖНЫ использовать цикл for

Не знаю, почему бы вам, если только для школьного задания:

 for($i=0;$i<count($data);$i++) { echo('<tr>'); echo('<td>' . $data[$i][0] . '</td>'); echo('<td>' . $data[$i][1] . '</td>'); echo('<td>' . $data[$i][2] . '</td>'); echo('</tr>'); } - for($i=0;$i<count($data);$i++) { echo('<tr>'); echo('<td>' . $data[$i][0] . '</td>'); echo('<td>' . $data[$i][1] . '</td>'); echo('<td>' . $data[$i][2] . '</td>'); echo('</tr>'); } 

Но тогда это просто глупо, напрямую обращаясь к идентификаторам, позволяет использовать другой цикл в строке:

 for($i=0;$i<count($data);$i++) { echo('<tr>'); for($j=0;$j<count($data[$i]);$j++) { echo('<td>' . $data[$i][$j] . '</td>'); } echo('</tr>'); } - for($i=0;$i<count($data);$i++) { echo('<tr>'); for($j=0;$j<count($data[$i]);$j++) { echo('<td>' . $data[$i][$j] . '</td>'); } echo('</tr>'); } 

Замените его так же, как и сверляющий цикл foreach:

 <table> <?php foreach($items as $row) { echo('<tr>'); foreach($row as $cell) { echo('<td>' . $cell . '</td>'); } echo('</tr>'); } ?> </table> - <table> <?php foreach($items as $row) { echo('<tr>'); foreach($row as $cell) { echo('<td>' . $cell . '</td>'); } echo('</tr>'); } ?> </table> 

Почему бы не взорвать массив:

 <table> <?php foreach($items as $row) { echo('<tr>'); echo('<td>'); echo(implode('</td><td>', $row); echo('</td>'); echo('</tr>'); } ?> </table> - <table> <?php foreach($items as $row) { echo('<tr>'); echo('<td>'); echo(implode('</td><td>', $row); echo('</td>'); echo('</tr>'); } ?> </table> 

Смешайте его, закрутите занавес и пойдете на прогулку; и взорвать материал по пути:

 <?php function print_row(&$item) { echo('<tr>'); echo('<td>'); echo(implode('</td><td>', $item); echo('</td>'); echo('</tr>'); } ?> <table> <?php array_walk($data, 'print_row');?> </table> - <?php function print_row(&$item) { echo('<tr>'); echo('<td>'); echo(implode('</td><td>', $item); echo('</td>'); echo('</tr>'); } ?> <table> <?php array_walk($data, 'print_row');?> </table> 

Двойная прогулка … OMG

Да, сейчас это выглядит немного глупо, но когда вы вырастите стол, и все становится более сложным, все немного лучше разрастается и модулируется:

 <?php function print_row(&$item) { echo('<tr>'); array_walk($item, 'print_cell'); echo('</tr>'); } function print_cell(&$item) { echo('<td>'); echo($item); echo('</td>'); } ?> <table> <?php array_walk($data, 'print_row');?> </table> - <?php function print_row(&$item) { echo('<tr>'); array_walk($item, 'print_cell'); echo('</tr>'); } function print_cell(&$item) { echo('<td>'); echo($item); echo('</td>'); } ?> <table> <?php array_walk($data, 'print_row');?> </table> 

Используйте это, на самом деле два вложенных for цикла:

 print('<table>'); for($i = 0; $i < count($array); $i++) { print('<tr>'); for($ii = 0; $ii < count($array[$i]); $ii++) { print("<td>{$array[$i][$ii]}</td>"); } print('</tr>'); } print('</table>'); 

Сделайте так

 echo "<table>"; for($i=0;$i<count($your_array);$i++) { echo "<tr><td>".$your_array[$i][0]."</td>"; echo "<td>".$your_array[$i][1]."</td>"; echo "<td>".$your_array[$i][2]."</td></tr>"; } echo "</table>"; 
 echo '<table>'; for($i=0;$i<count($array);$i++) { echo '<tr><td>'.$array[$i][0].'</td>'; echo '<tr><td>'.$array[$i][1].'</td>'; echo '<tr><td>'.$array[$i][2].'</td></tr>'; } echo '</table>'; 

Сделай это

 $arr as your array 

тогда

 echo "<table>"; for($i = 0; $i<count($arr); $i++) { echo '<tr><td>'.$arr[$i][0].'</td>'; echo '<tr><td>'.$arr[$i][1].'</td>'; echo '<tr><td>'.$arr[$i][2].'</td></tr>'; } echo "</table>";