我完全失败了。我已经广泛地搜索了这个网站,还有其他人为什么我的for循环,以及许多其他工作循环,不会执行,并尝试了许多建议。我已经检查过它实际上没有执行,并且没有达到执行条件。这是循环:
if (count($bunnyList)>100){
echo "Too many bunnies! Initiating mass cull.</br>";
for ($i=0; $i===50; $i++){
echo 'something';
unset ($bunnyList[rand(0,(count($bunnyList)))]);
array_values($bunnyList);
}
echo 'Number of bunnies: '.(count($bunnyList));
if条件执行;执行第一个echo语句,然后执行循环后的echo语句。如果已经执行了循环,那么我应该在页面上打印一些&#34;的东西,但是我从来没有,即使在为其他人尝试了大量的建议之后,它们也失败了。在盯着这段特殊的代码片刻数小时之后,我有理由相信我并没有弄乱一段语法。请帮助我,我已经拉了太多的头发 :(
整个代码超过一百行,我并不认为发布整个代码是谨慎的。另外,程序中所有其他for循环的工作都很好,而这个循环的无穷变化则没有。
如果这是一个多余的问题,或者之前已被问过,我道歉。类似于我的问题的其他答案无法解决问题。请帮帮我D:
TL; DR为什么只有这个for循环不会在包含许多功能循环的程序中执行? if条件中的echo语句确实执行。
答案 0 :(得分:2)
尝试:
for ($i = 0; $i < 50; $i++) {
而不是:
for ($i = 0; $i === 50; $i++) {
在for循环中,第二部分不是结束条件,而是延续条件。在你的情况下,它检查$ i是否等于50,并且因为它不是,它将永远不会进入循环。
答案 1 :(得分:0)
我不太熟悉php,更多java,但是不应该每次'I'小于50,增加1?
for ($i=0; $i < 50; $i++){
...
}
我假设这是语法。
答案 2 :(得分:0)
试试这样:
for ($i=0; $i<=50; $i++){
echo 'something';
unset ($bunnyList[rand(0,(count($bunnyList)))]);
array_values($bunnyList);
}