2016-05-29 5 views
-3

私はPHP whileループを使用して、乱数を探したいです。ここでPHPのdo-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); 

?> 

答えて

0

を働いていない、コードで、$start = $start - $end;$start変数が$findになると、あなたはすぐにwhile ($start != $find);があるので(ループから抜け出すfalseその瞬間に)。つまり、

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; 
+0

ありがとうございました。私の質問を編集する必要があると思います... – flux

0

フェデリコは、私は彼の答えを選択しますので、エラーを理解するために私を助けました。

はなく、また、ここでは、私の答えは私が達成しようとしていたものを説明します

<?php 

$start = 0; 
$end = 1; 
$find = 1; 

do { 
    $find = rand($start,$end); 
    echo $find."<br>"; 
} while ($start != $find); 

if ($start == $find): 
    echo "Found!"; 
endif; 

?> 

私はそう_REQUESTから取られた値を使用してコードを機能させるために滑走しています、実際に番号が」勝ちましたtはランダムです。私はちょうど何が間違っていたのか理解したかったのですが、最初にrand();ファンクションを使用している間はどうしますか?

関連する問題