PHP无限While循环,原因未知
试图建立一个网页,输出一些搜索值整齐的页面底部,但我不断得到一个无限循环。我不知道是什么原因造成的,我想让其他人了解手头的问题。如果您的病情有问题 改变PHP无限While循环,原因未知,php,while-loop,infinite,Php,While Loop,Infinite,试图建立一个网页,输出一些搜索值整齐的页面底部,但我不断得到一个无限循环。我不知道是什么原因造成的,我想让其他人了解手头的问题。如果您的病情有问题 改变 <?php $i=1; while ($i<=$totalpages) { if (($i>=($page-5) && $i<=($page+5) && $i<$totalpages) || $i==1 || ($i+1>$totalpages)) {
<?php
$i=1;
while ($i<=$totalpages) {
if (($i>=($page-5) && $i<=($page+5) && $i<$totalpages) || $i==1 || ($i+1>$totalpages)) {
echo "<td><a href=\"search.php?page=$i\">";
if ($i=$page) {
echo "<strong> $i </strong>";
}
if ($i!=$page) {
echo " $i ";
}
echo "</a></td>";
}
$i++;
}
?>
与
如果你的情况有问题 改变
<?php
$i=1;
while ($i<=$totalpages) {
if (($i>=($page-5) && $i<=($page+5) && $i<$totalpages) || $i==1 || ($i+1>$totalpages)) {
echo "<td><a href=\"search.php?page=$i\">";
if ($i=$page) {
echo "<strong> $i </strong>";
}
if ($i!=$page) {
echo " $i ";
}
echo "</a></td>";
}
$i++;
}
?>
与
我假设,你有很多地方重置了$i
$i=1
及
$i=$page
将它们替换为
==
我假设您有许多地方重置了$i
$i==1
$i=1
及
$i=$page
将它们替换为=
$i==1
第一个和第二个if条件发生变化。1) $i==1
2) $i==$page
第一个和第二个if条件发生变化。1) $i==1
2) $i==$page是否有一个原因可以解释为什么不能使用for循环来实现这一点?而循环总是有风险的,如果有一个场景会导致永远的循环,那么它很容易导致问题 例如
for($i=0;$i使用for循环无法实现这一点有什么原因吗?而如果存在导致永远循环的场景,则循环总是有风险且容易导致问题
例如
对于($i=0;$i条件中存在一些问题
第一个问题是:
||$i=1||
一切都是真的。
换成
||$i==1||
第二:adobe也是如此
if($i=$page)//始终返回try是分配操作
改为:
如果($i==$page)
条件方面存在一些问题
第一个问题是:
||$i=1||
一切都是真的。
换成
||$i==1||
第二:adobe也是如此
if($i=$page)//始终返回try是分配操作
改为:
如果($i==$page)
将$i=1
替换为while
-loop中的$i==1
。您的if语句相当复杂。我建议将其替换为类似以下内容:if(CheckSomeCondition($i,$page,$totalPages)){…}
,然后执行if
的实际逻辑-在该方法中以更可读的方式进行检查(这可能会使您自己更容易找到问题)。在while
-loop中将$i==1
替换为$i==1
。您的if语句相当复杂。我建议将其替换为类似以下内容:if(CheckSomeCondition($i,$page,$totalPages)){…}
,然后执行的实际逻辑,如果
-以更可读的方式在该方法中进行检查(这可能会使您自己更容易找到问题)。嗯,当值成功设置时,它重置变量并返回true。嗯,当值成功设置时,它重置变量并返回true。他有多个条件strue,但他仍然可以使用for循环来执行此操作,所发生的只是他在一个页码列表中循环,并将活动页码加粗他有多个条件,但他仍然可以用for循环来实现这一点,所发生的一切就是他在一个页码列表中循环,并使活动页码变为粗体是的,这就解决了,谢谢你指出我自己的愚蠢之处。:)最受欢迎的是,在决定一个条件时一定要花一点时间,这样可以节省您的时间并使您的软件无bug。是的,这已经解决了,谢谢您指出我自己的愚蠢之处。:)最受欢迎的是,在决定一个条件时一定要花一点时间,这样可以节省您的时间并使您的软件无bug。
for ($i = 0; $i<=$totalpages; $i++){
// do something
}