[英]PHP Split column when item = 4
我有一个数组,现在我将这个数组放入for loop
以显示此数组中的每个项目,但我想要设置项目限制(每列4个项目),这是我的代码。
<?php
$area = $custom_area_settings; //is an array with 5 element
for($i=0;$i<=count($area->custom_area_list) - 1; $i++):
if($area->custom_area_list[$i]->top_show):
echo '<div class="sub-column column'.$i.'">';
echo '<p class="line"> ' . $area->custom_area_list[$i]->header . '</p>';
echo '</div>';
endif;
endfor;
?>
在这段代码中,div column$i
已经创建了每次循环运行但我只想在循环运行4次时创建此div,4次此div再次创建,8次后此div将再次创建并继续...
这是我想要的结果。
Column 1 Column 2
--------------- ---------------
item 1 item 5
item 2 item 6
item 3 item 7
item 4 item 8
这是我现在得到的结果
Column 1
---------------------
item 1
Column 2
---------------------
item 2
.....
请帮忙。
更新:
$html = $i%4 === 0 ? '<div class="sub-column column'
. $i . '">'
. '{1}' . '</div>' : '{1}';
echo strtr($html,array('{1}' => '<p class="line"> '
. $area->custom_area_list[$i]->header
. '</p>'
));
%将$ i除以4并返回在这种情况下必须等于0的余数
我建议你使用array_chunk
命令
例
$chunkedArray = array_chunk(['One', 'Two', 'Three', 'Four', 'Five'], 4);
echo '<div class="row">';
array_walk( $chunkedArray, function($array)
{
echo '<div class="col-md-4">'
foreach( $array as $key => $value )
{
echo "<p class='line'>$value</p>";
}
echo '</div>';
});
echo '</div>';
此示例是使用twitter bootstrap css类创建的。 我确信它可以被优化,只是展示array_chunk方法。
<?php
$area = $custom_area_settings; //is an array with 5 element
$i=0;
echo '<div class="sub-column column'.$i.'">';
for($i=0;$i<=count($area->custom_area_list) - 1; $i++):
if($area->custom_area_list[$i]->top_show):
if($i%4 === 0):
echo '</div>';
echo '<div class="sub-column column'.$i.'">';
endif;
echo '<p class="line"> ' . $area->custom_area_list[$i]->header . '</p>';
endif;
endfor;
echo '</div>';
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.