这是高效的循环PHP编码吗?

问题描述

| 我刚刚开始学习编码和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英镑?