我尝试并试图让这段代码工作并继续提出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++;
}
?>
答案 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;
}
}
}
恕我直言,这更具可读性,也更短。