如何以表格格式显示这些数字?

时间:2015-05-29 06:52:19

标签: php

这段代码给出了以下输出,我想在表中显示这些数字是否有任何方法可以做到这一点?为什么它没有以正确的格式显示数字,例如为什么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

3 个答案:

答案 0 :(得分: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 :(得分: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

答案 2 :(得分: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>";
?>

你的外出

enter image description here