2015-05-29 4 views
0

Этот код дает следующий результат: я хочу показать эти цифры в таблице, есть ли способ сделать это? и почему он не показывает числа в правильном формате, например, почему 53 не ниже 40, а другие также не отображаются в правильном порядке?Как показать эти цифры в табличном формате?

<?php 

$arr = array(); 

for ($i=1;$i<82;$i++) { 
    $arr[] = $i; 
} 

shuffle($arr); 
$lines = array_chunk($arr, 9); 
foreach ($lines as $key => $line) { 
    $lines[$key] = implode("&nbsp&nbsp&nbsp", $line); 
} 
echo implode("<br>", $lines); 
?> 

Выход

73 40 79 1 43 7 76 44 18 
6 53 45 55 71 20 80 66 74 
69 51 52 65 22 63 59 50 54 
29 33 23 49 77 24 61 60 58 
8 81 30 15 26 32 16 47 31 
17 39 4 35 27 11 5 25 68 
2 34 72 42 75 46 48 3 38 
14 28 37 62 10 78 12 56 13 
41 21 19 36 9 64 67 57 70 

ответ

4

Если вы не хотите использовать таблицы или CSS. Вы можете использовать тег <pre> затем использовать некоторые вкладки и новой строку

<pre> 
<?php 
$arr = array(); 
for ($i=1;$i<82;$i++) { 
    $arr[] = $i; 
} 

shuffle($arr); 
$lines = array_chunk($arr, 9); 
foreach ($lines as $key => $line) { 
    $lines[$key] = implode("\t", $line); 
} 
echo implode("\n", $lines); 
?> 

Fiddle

Примечания: Я не очень забочусь о вашей логике для создания этих строк, отвечая на этот вопрос, так как его только о форматировании , Вы можете обрезать и код.

Выход

22 16 66 79 8 41 47 2 80 
29 38 76 18 40 46 73 34 45 
31 3 62 68 14 33 20 72 67 
78 44 42 30 51 77 36 25 48 
64 70 21 15 19 9 56 50 65 
37 27 4 1 35 74 75 52 32 
81 23 10 28 26 59 7 54 11 
6 63 5 39 53 12 24 60 49 
71 55 17 13 61 69 43 57 58 

Теперь немного лучше кода

<pre> 
<?php 
$numbers=range(1,81); 
shuffle($numbers); 
$c=0; 
foreach($numbers as $n) 
{ 
    if($c%9==0)echo "\n"; 
    echo $n."\t"; 
    $c++; 
} 
?> 
1

изменить код так:

<?php 

$arr = array(); 

for ($i=1;$i<82;$i++) { 
    $arr[] = $i; 
} 

shuffle($arr); 
$lines = array_chunk($arr, 9); 
echo '<table>'; 
foreach ($lines as $key => $line) { 
    echo '<tr><td align="right">'; 
    echo $lines[$key] = implode('</td><td align="right">', $line); 
    echo '</td></tr>'; 
} 
echo '</table>'; 
?> 

Выход

57 41 48 17 73 76 7 78 12 
69 61 39 80 24 58 45 11 70 
47 65 33 21 38 4 19 13 46 
59 52 63 14 25 3 30 28 77 
50 40 68 6 2 29 20 66 26 
72 74 34 75 15 36 71 10 60 
55 53 1 16 23 42 51 35 62 
44 32 43 64 18 8 54 49 5 
81 27 31 67 37 22 79 56 9 
+0

может я предложить '' для более хорошего дисплея? – Burki

+0

thats также хорошо, чтобы получить более чистый вид –

+0

ваш код print nothing.check. вы пропустите что-то. –

1

попробовать это

<?php 

$arr = array(); 

for ($i = 1; $i < 82; $i++) { 
    $arr[] = $i; 
} 

shuffle($arr); 
$lines = array_chunk($arr, 9); 

echo "<table>"; 

foreach ($lines as $key => $line) { 
    echo "<tr>"; 
    for ($i = 0; $i < sizeof($line); $i++) { 
     echo "<td align='right'>" . $line[$i] . "</td>"; 
    } 
    echo "</tr>"; 
} 

echo "</table>"; 
?> 

Ваш Out поставил

enter image description here

Смежные вопросы