PHP for循环到while循环

时间:2016-08-14 17:49:15

标签: php

嘿,为考试而学习,并有这个循环。

Havoc6
Steelmage
Olecgolec
...
Anafobia
nokieka2
HoGji

现在的问题是如何将此重写为while循环?要记住什么,

谢谢!

2 个答案:

答案 0 :(得分:0)

$ab = 0; 
$xy = 1;
echo "<table>";
$i = 0;
while ($i < 5) {
    echo "<tr><td>$ab</td><td>$xy</td></tr>";
    $ab += $xy;
    $xy += $ab;
    $i++;
}
echo "</table>";

解释:
与&#34; for&#34;相比循环,你必须初始化&#34;计数器&#34;在打开循环之前[$ i = 0]
在循环内部,指定继续循环的条件[$ i&lt; 5]
在某个循环中,你可以增加你的计数器&#34; [$ i ++]
你的&#34;柜台&#34;可以增加或减少,或直接设置;它完全取决于您的代码逻辑以及您的需求。

您也可以随时打破循环,如果需要,请参见示例:

while ($i < 5) {
    echo "<tr><td>$ab</td><td>$xy</td></tr>";
    $ab += $xy;
    $xy += $ab;
    if ($ab == 22) { // If $ab is equal to a specific value
        /* Do more stuff here if you want to */
        break; // stop the loop here
    }
    $i++;
}

此示例也适用于&#34; for&#34;循环。
另外还有另一个关键字&#34; continue&#34;用于告诉&#34; jump&#34;到下一个循环迭代:

while ($i < 5) {
    $i++; // Don't forget to increase "counter" first, to avoid infinite loop
    if ($ab == 22) { // If $ab is equal to a specific value
        /* Do more stuff here if you want to */
        continue; // ignore this iteration
    }

    /* The following will be ignored if $ab is equal to 22 */
    echo "<tr><td>$ab</td><td>$xy</td></tr>";
    $ab += $xy;
    $xy += $ab;
}

答案 1 :(得分:-1)

要用for循环替换while循环,可以在启动while循环之前声明变量,这将指示循环的当前迭代。然后,您可以在while循环的每次迭代时递减/递增此变量。所以你会有这样的事情:

$counter = 0;
while ($counter < 5) {
  echo "";
  echo "<td>" . $ab . "</td><td>" . $xy . "</td>";
  $ab += $xy;     
  $xy += $ab;     
  echo "</tr>"; 
  $counter++;
} 

一般来说:

for ($i = 0; $i < x; $i++) {
  do stuff
}

相当于:

$counter = 0;
while ($counter < x){
  do stuff
  counter++;
}