foreach($resorts as $askiarea)
{
$askiarea = (array) $askiarea;
$askiarea['ReportType'] = $askiarea['resortStatus'];
$flag=1;
if (($askiarea['ReportType'] ==6) || ($askiarea['ReportType'] =="6"))
{
if($flag ==1)
echo '<tr><th colspan="6" text-align="left"><div class="region-headline">Opening Soon For Snow Sports</div></th></tr>';}
$flag = 0;
}
每次尝试使用ReportType的值后,只需要回显一次标题,我会得到多个标题。
答案 0 :(得分:0)
请添加大括号:
if($flag ==1) {
echo '<tr><th colspan="6" text-align="left"><div class="region-headline">Opening Soon For Snow Sports</div></th></tr>';}
$flag = 0;
}
答案 1 :(得分:0)
使用break语句。
foreach($resorts as $askiarea) {
$askiarea = (array) $askiarea;
$askiarea['ReportType'] = $askiarea['resortStatus'];
if (($askiarea['ReportType'] ==6) || ($askiarea['ReportType'] == "6")) {
echo '<tr><th colspan="6" text-align="left"><div class="region-headline">Opening Soon For Snow Sports</div></th></tr>';}
break;
}
}
有关休息here
的更多信息答案 2 :(得分:0)
在检查ReportType之前,您在每次迭代中设置$flag = 1
,因此当然会在每次迭代中打印标题。 $flag = 0
没有在那里做任何事情。
在foreach循环之前设置$flag = 1
,它将起作用。
答案 3 :(得分:0)
有点不确定你的阵列开始时的样子,但这是一个非常简单的例子:
<?php
$resorts = [0=>['ReportType'=>6],1=>['ReportType'=>6],2=>['ReportType'=>"6"]];
for ($c = 0; $c < count($resorts); $c++) {
if ($resorts[$c]['ReportType'] == 6) {
echo '<tr><th colspan="6" text-align="left"><div class="region-headline">Opening Soon For Snow Sports</div></th></tr>';
break;
}
}
?>
它计算原始数组(我假设它是一个多维数组?)并根据它重复该值,如果找到则中断。 PHP在int和字符串之间没有区别,因此无需检查== 6
和== "6"
。