我有这个小问题,虽然它很小我似乎无法解决它,我需要显示的数据集,比如1到17.我需要连续显示3个像1,2 3,在一行中,4,5,6在下一行,因为bootstrap行支持12列,每个有3列3个元素。
因为数据量可以变化而且数据总数不会像示例那样分为3,所以我怎样才能在PHP中编写一些能够连续显示数据的东西,就像在这个例子中一样是5行3,最后一行是2行。
由于
编辑:
我没有写任何代码,但是想到了一个循环和一个嵌套循环,但是认为这样做太笨重了吗?
答案 0 :(得分: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 ,
答案 1 :(得分: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>";
?>
答案 2 :(得分: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);