在foreach中妥善安排

时间:2012-09-19 19:51:15

标签: php foreach

$random = rand(4, 23);
$range = range(1, $random );
嗨..伙计们 我在foreach函数中有一个随机范围值,我希望在下面显示 规则..我的目标是像方框一样显示

如果我得到范围1到3,它必须显示这样的表

1 2
3

如果范围从1到6

1 2 3
4 5 6

如果范围从1到19

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

1 个答案:

答案 0 :(得分:1)

获取记录数的平方根的ceil,然后当你在一个mod值等于0的索引处时,开始一个新行。由于您已经有$random之类的内容:

$dim = ceil(sqrt($random));

foreach ($range as $index => $number) {
    print $number;
    if (!(($index + 1) % $dim)) {
      print "\n";
    }
    else {
      print " ";
    }
}

可能需要一些调整(我不是在PHP模式下)并且也不考虑填充,但这应该是直截了当的。