行,
所以我在PHP中有一个foreach循环。
$i = 0
$c = count($cars);
foreach ( $cars as $car ) {
// if less than 10 items
if ( $c < 10 ) {
echo '<div class="column-full-width">';
echo $i . '. ' . $car->name;
echo '</div>';
$i++;
}
// if 10 items or more
if ( $c > 10 ) {
if ( $c <= 5 ) {
echo '<div class="column-left">';
echo $i . '. ' . $car->name;
echo '</div>';
$i++;
}
if ( $c > 5 ) {
echo '<div class="column-right">';
echo $i . '. ' . $car->name;
echo '</div>';
$i++;
}
}
}
如果数组中的项目是10或更多(如果最多9个,1列可以),我需要创建2列,但是,列应该是动态的,甚至是它们包含的项目的数量。我的意思是如果我有10个项目,两个列将包含5个项目,如果我有11个项目,左列将有6个项目,右边将有5个项目,如果我将有12个项目,则将有6个项目,如果我将有13个项目,左边有7个项目,右边的列有6个项目。
如何在PHP中执行此类条件?
答案 0 :(得分:1)
这个怎么样:
$c = count($cars);
$i = 0;
if ($c < 10) {
echo '<div class="column-full-width">';
foreach ($cars as $car) {
echo ($i++) . '. ' . $car->name . '<br />';
}
echo '</div>';
} else {
$lc = ceil($c / 2);
$act = reset($cars);
echo '<div class="column-left">';
while ($i < $lc) {
echo ($i++) . '. ' . $act->name . '<br />';
$act = next($cars);
}
echo '</div>';
echo '<div class="column-right">';
while ($i < $c) {
echo ($i++) . '. ' . $act->name . '<br />';
$act = next($cars);
}
echo '</div>';
}