如果IF
没有停止循环,如何在循环中停止TRUE
传导。
我希望得到如下的HTML输出,
<div1>
Group_1
Item_1
Item_21
Item_43
Item_55
Group_2
Item_5
Item_34
Item_56
Group_3
Item_12
Group_4
Item_11
Item_14
Item_15
</div1>
<div2>
Group_5
Item_2
Item_3
Group_6
Item_6
Item_7
Item_9
Group_7
Item_10
Item_41
Item_42
Item_43
Group_8
Item_13
</div2>
<div3>
Group_9
Item_16
Item_17
Item_18
Item_19
Item_20
Item_30
Item_31
Item_32
Item_33
Item_35
Item_40
Item_44
</div3>
<div4>
Group_10
Item_4
Item_22
Item_23
Group_11
Item_24
Item_25
</div4>
我的PHP代码如下,
<?php
$x=0;
$num_g = count($groups);
$num_i = count($items);
$lines = $num_g+$num_i;
$div1 = 13;
$div2 = 26;
$div3 = 39;
$div4 = 51;
foreach($groups as $group){
if($x==0){
echo'<div class="div1">'; // Start First DIV
}
$x++;
echo 'Group - '.$group->name.'<br>'; // Group Name
foreach($items as $item){
if($item->group_id == $group->id) //Group Items
$x++;
echo $item->name.'<br>'; // Item Name
}
if($x>=$div1){ // Need to stop Only this If once it TRUE ??
echo '</div><div class="div2">'; // Start 2nd DIV
}
if($x>=$div2){ // Need to stop Only this If once it TRUE ??
echo '</div><div class="div3">'; // Start 3rd DIV
}
if($x>=$div3){ // Need to stop Only this If once it TRUE ??
echo '</div><div class="div4">'; // Start 4th DIV
}
if($x==$lines) { // Need to stop Only this If once it TRUE ??
echo '</div>'; // End Last DIV
}
}
请,任何人都可以帮助或建议此事吗?
答案 0 :(得分:1)
使用continue
关键字。官方PHp documentation说:
continue在循环结构中用于跳过当前循环迭代的其余部分,并在条件评估和下一次迭代开始时继续执行。
答案 1 :(得分:0)
在要跳过foreach中的剩余代码的位置使用<?php
require '/db/database_configuration.php';
$_1995 = mysqli_query($conn, "SELECT COUNT(*) AS Total FROM `tblalumni` WHERE yeargrad LIKE '1995' and alum_status LIKE 2");
$_1996 = mysqli_query($conn, "SELECT COUNT(*) AS Total FROM `tblalumni` WHERE yeargrad LIKE '1996' and alum_status LIKE 2");
$_1995 = mysqli_fetch_array($_1995);
$_1996 = mysqli_fetch_array($_1996);
// displays zero if none
if (empty($_1995['Total'])) { $_1995 = '0'; } else { $_1995 = $_1995['Total'];}
if (empty($_1996['Total'])) { $_1996 = '0'; } else { $_1996 = $_1996['Total'];}
$ans_1995 = '1995';
$ans_1996 = '1996';
$Data95 = $_1995;
$Data96 = $_1996;
?>
语句。请参阅manual
答案 2 :(得分:0)
您需要更改代码:
if($x==$lines) { // Need to stop Only this If once it TRUE ??
echo '</div>'; // End Last DIV
break;
}
if($x>=$div3){ // Need to stop Only this If once it TRUE ??
echo '</div><div class="div4">'; // Start 4th DIV
continue;
}
if($x>=$div2){ // Need to stop Only this If once it TRUE ??
echo '</div><div class="div3">'; // Start 3rd DIV
continue;
}
if($x>=$div1){ // Need to stop Only this If once it TRUE ??
echo '</div><div class="div2">'; // Start 2nd DIV
}