0

我有这个小问题,虽然它很小,但我似乎无法解决,我有一组需要显示的数据,比如说 1 到 17。我需要连续显示 3 个,比如 1,2,3 in一行和 4,5,6 在下一行,因为引导行支持 12 列,并且每个 4 列有 3 个元素。

因为数据量可能会有所不同,并且数据总数不会像示例中那样除以 17,所以我怎么能在 PHP 中编写一些东西来连续显示数据 3,就像在这个示例中一样,将有 5 行3 和最后一行有 2 套。

谢谢

编辑:

我没有编写任何代码,但正在考虑一个循环和一个嵌套循环,但认为这样做太笨拙了,还有更好的方法吗?

4

3 回答 3

1

您可以使用以下代码:

for($i = 1;$i<=17;$i++){
    if($i%3 !=1 && $i%3 != 0){
        print_r($i." , ");
    }else if( $i%3 == 0){
        print_r($i);
    }
    else{
        print_r("<br/>".$i." , ");
    }
}

它会给你这样的输出:

1 , 2 , 3
4 , 5 , 6
7 , 8 , 9
10 , 11 , 12
13 , 14 , 15
16 , 17 ,
于 2013-09-24T05:50:26.723 回答
0

Rukshan 你可以使用模数运算符。您可以使用下面的代码作为示例。我混合了html和php,但这只是给你一个例子:--

<?php
echo "<table>";
for($i=1;$i<18;$i++)
{
  echo "<tr>";
  echo "<td>".$i."</td>";
  if($i%3 == 0) echo "</tr>";
}
echo "</table>";
?>
于 2013-09-24T05:57:09.627 回答
0

尝试使用array_slice()根据需要对数组进行切片。您将得到数组中的除法。遍历它们以创建您的表。

参考示例

  $stores = array(1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12);
  $division = ceil( count($stores) / 3 ); //to divide array into 3 halves
  $firstHalf = array_slice($stores, 0, $division);
  $secondHalf = array_slice($stores, $division, $division);
  $thirdHalf = array_slice($stores, $division * 2);

输出为$stores = array(1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12)

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

Array
(
    [0] => 5
    [1] => 6
    [2] => 7
    [3] => 8
)

Array
(
    [0] => 10
    [1] => 11
    [2] => 12
)

输出为$stores = array(1, 2, 3, 4, 5, 6, 7, 8, 10)

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

Array
(
    [0] => 5
    [1] => 6
    [2] => 7
    [3] => 8
)

Array
(
    [0] => 9
    [1] => 10
)

输出为$stores = array(1, 2, 3, 4, 5, 6, 7, 8);

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)

Array
(
    [0] => 7
    [1] => 8
)

要将数组分成两半,您可以使用

$division = ceil( count($stores) / 2 );
$firstHalf = array_slice($stores, 0, $division);
$secondHalf = array_slice($stores, $division);
于 2013-09-24T06:09:20.833 回答