为什么这些嵌套的while循环不起作用?

时间:2010-06-06 00:34:42

标签: php nested while-loop

我尝试并试图让这段代码工作并继续提出zilch。所以我决定尝试使用“for loops”而不是它首先尝试。有人能告诉我为什么这段代码不好吗?

<?php
$x = $y = 10;

while ($x < 100) {
    while ($y < 100) {
        $num = $x * $y;
        $numstr = strval($num);
        if ($numstr == strrev($numstr)) {
            $pals[] = $numstr;
        }
        $y++;
    }
    $x++;   
}
?>

3 个答案:

答案 0 :(得分:10)

你应该在第一次重置y = 10。

$x = 10;

while ($x < 100) {
    $y = 10;
    while ($y < 100) {
        $num = $x * $y;
        $numstr = strval($num);
        if ($numstr == strrev($numstr)) {
            $pals[] = $numstr;
        }
        $y++;
    }
    $x++;   
}

答案 1 :(得分:2)

您需要在y循环开始之前重置y。

While($x < 100){
 $y=10; //... rest of code

答案 2 :(得分:0)

对于循环遍历整数递增的循环,我更喜欢for循环:

for ($x=0; $x < 100; $x++) {
  for ($y=10; $y<100; $y++) {
    $num = $x * $y;
    $numstr = strval($num);
    if ($numstr == strrev($numstr)) {
      $pals[] = $numstr;
    }
  }  
}

恕我直言,这更具可读性,也更短。