尝试使用PHP“do while”循环查找随机数
我想使用PHP做while循环并找到一个随机数 这是代码,它不工作尝试使用PHP“do while”循环查找随机数,php,loops,Php,Loops,我想使用PHP做while循环并找到一个随机数 这是代码,它不工作 <?php $start = 10; $end = 1; $find = rand(0,9); do { if ($start == $find): echo "Found!"; elseif ($start != $find): echo $start; $start = $start - $end; endif; } while ($start != $find); ?> 在
<?php
$start = 10;
$end = 1;
$find = rand(0,9);
do {
if ($start == $find):
echo "Found!";
elseif ($start != $find):
echo $start;
$start = $start - $end;
endif;
} while ($start != $find);
?>
在最后一次迭代中,使用$start=$start-$end;$start变量变为$find,您将立即退出循环,因为$start!=$发现在那一刻是错误的。那意味着
if ($start == $find):
echo "Found!";
永远不会发生。如果您理解了这一点,那么您就理解了始终验证循环外的$start==$find。因此,您可以移动底部的代码:
$start = 10;
$end = 1;
$find = rand(0,9);
do {
if ($start != $find): // ALWAYS true, can be omitted
echo $start;
$start = $start - $end;
endif;
} while ($start != $find);
if ($start == $find): // ALWAYS true, can be omitted
echo "Found!";
endif;
费德里科帮助我理解错误,因此我将选择他的答案
但是,这也是我的答案,解释了我试图实现的目标:
<?php
$start = 0;
$end = 1;
$find = 1;
do {
$find = rand($start,$end);
echo $find."<br>";
} while ($start != $find);
if ($start == $find):
echo "Found!";
endif;
?>
我打算让代码使用一个取自_请求的值来工作,所以实际上这个数字不会是随机的。我只是想了解出了什么问题,以及“边做边用”是如何使用兰德的;功能优先