2017-05-27 77 views
0

如何停止在最后一次迭代中回传分页符?如何避免在最后一次迭代循环中回显一行?

for($k=0; $k < count($selectedmonth); $k++){ 

    // some other code 

    echo "<br pagebreak='true'>"; 

} 
+0

为什么当你可以访问'$ selectedmonth [count($ selectedmonth)-1]'或'end($ selectedmonth)'最后一项时使用for循环?你为什么要在循环的每次迭代中计算count($ selectedmonth)? – Pyromonk

+0

我的代码里面有很长的代码...我仍然在学习..谢谢大家的建议..非常感谢....我会尝试哪种最适合我的情况 – sabahan

回答

1

申报计数为变量并有条件地检查它。通过将它设置为一个变量,可以减少函数调用。

for($k=0,$count=count($selectedmonth);$k<$count;++$k) { 
    if($count!=$k+1){echo "<br pagebreak='true'>";} 
} 
+0

非常感谢你 – sabahan

2
$array_length = count($selectedmonth); 
for($k = 0; $k < $array_length; $k++){ 
    if($k != $array_length - 1){ 
     echo '<br pagebreak="true">'; 
    } 
} 
1

如何从循环中排除最后一个元素?

for($k=0;$k<count($selectedmonth)-1;$k++) { 

    echo "<br pagebreak='true'>"; 

    } 
+0

这是行不通的,因为OP有意在最后一次迭代中做其他事情。 – mickmackusa

1

你可以用下面的代码做没有每次count()if()

$end = count($selectedmonth) - 1; 
for($k = 0; $k < $end; $k++) { 
    echo "<br pagebreak='true'>"; 
} 
+1

我在for循环里面有很长的代码...我仍然在学习..谢谢大家的建议..非常感谢....我会尝试哪种方式最适合我的情况 – sabahan

相关问题