问题描述
|
我刚刚开始学习编码和PHP,所以我一直在考虑实践到目前为止所学的知识,但是不确定我的编码效率是多少。感谢您对以下循环的评论。这是一个简单的循环,并已注释掉了一个更简单的示例。我将不胜感激任何有关如何改善编码的建议。
//Initialize page
$startpage = isset($_POST[\'page\']) ? $_POST[\'page\'] : 1;
$endpage = 11;
//Loop through the start and end of the page
while($startpage < $endpage) {
if(isset($_POST[\'submit\'])) {
$startpage=$startpage+1;
}
if($startpage < $endpage) {
break;
}
}
//Alternative option
// if(isset($_POST[\'submit\'])) {
// if($startpage < $endpage) {
// $startpage = $startpage + 1;
// }
// }
编辑
我执行$ _POST检查的原因是,我只想让用户在命中提交后从一页移动到下一页。
解决方法
用您编写的代码,不,它效率极低; p。
您可以从技术上将您的代码替换为
if(isset($_POST[\'submit\']) && $startpage < $endpage){
$startpage = $endpage;
}
因为您的逻辑实际上不做任何事情,而是增加$startpage
直到等于$endpage
。作为一个花絮,要增加一,您可以做$startpage++;
您的评论“ 5”也...不应该在那儿,因为它没有任何意义,如果您的评论没有真正意义,那么最好不发表评论海事组织。某种程度上可以解释您正在尝试执行的操作,但是我仍然很困惑:P。
就像其他所有人也说的那样,您似乎不太了解while循环是如何工作的,但是如果可以断言,我就把它收回:)。
这是我对while
循环的解释。
while
循环的重复次数与您置于其旁边的条件成立时的重复次数相同。
因此,如果您说while($number is less than 11)
,然后每次将$ number加1,则在手动ѭ10时不需要从循环中break;
,因为这是循环自动执行的。,我不确定您要做什么,但是看起来像for
循环会更具可读性。
$startpage = isset($_POST[\'page\']) ? $_POST[\'page\'] : 1;
$endpage = 11;
for($i=$startpage; $i<$endpage; $i++)
{
// do something
}
也许这是个人喜好,但是当您想要遍历结果数组时,或者想要在执行其他操作之前继续检查另一个函数的结果时,这可能会更有用。
特别是对您的代码的注释:
您可以将$startpage=$startpage+1;
改写为$startpage++;
isset($_POST[\'submit\'])
将在每次循环运行中给您相同的答案,因此在运行循环之前将结果设置为变量。,我不确定您要在这里做什么。由于if
语句,该循环仅运行一次。如果您要打印从$startpage
到$endpage
的页码,则可以简单地执行以下操作:
$startpage = isset($_POST[\'page\']) ? $_POST[\'page\'] : 1;
$endpage = 11;
while($startpage < $endpage) {
$startpage=$startpage + 1;
}
实际上,您为什么在这里检查20英镑?