2016-05-14 3 views
-2

を横断するために、私はランダムにループ2のためのループを示して、私は問題をループしている

コードループへのランダム再生表示する:

  for ($i=0; $i <= 10; $i++) { 
 
      $result = $i; 
 
      echo "$result"; 
 
      echo "<br>"; 
 
      } 
 
    //---------------------------------------------- 
 
      echo "<hr width='100%'>"; 
 
    //---------------------------------------------- 
 
      $s=$result; 
 
      $c=$result; 
 
      $test=array_fill($s, $c, 0); 
 
      $ts=microtime(true); 
 

 
      for ($i=0; $i <= 10; $i++) { 
 
       $selection1=mt_rand($s, $c); 
 
       $selection2=mt_rand($s, $c); 
 

 
       echo "$selection1 and $selection1"; 
 
       echo "<br>"; 
 
      }

私はなりたい: をexample result

ランダムにクロスループしたい Example result

#including completion of a genetic algorithm 
+0

ようこそスタックオーバーフロー! [質問]と[完璧な質問](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)をご覧ください。 – Rizier123

+0

あなたの最後の質問で既に述べたように:http://stackoverflow.com/q/37220786/3933332 forループが実行された後、 '$ result'は10になります。 (BTW:forループのあなたの変数の引用符は不要です)。それでは、 '$ s'と' $ c'に10を割り当てます。 (一方で、値10の要素を持つインデックス10から始まる配列を作成します)。次のforループでは、10と10の間のランダムな値を作成し、ランダムな値はランダムです。だからほとんどあなたは10を得るでしょう! – Rizier123

+0

私はまだ混乱しています。上記のような結果が必要な場合は、コーディング担当者の例を含めてください。 –

答えて

0

mt_randあなたが提供する最初と最後の値の間の値を返します。あなたのコードでは、$ sと$ cが両方とも10に設定されている場合、mt_rand($s, $c)と呼んでいるので、常に10を返します。

あなたが望むものを理解できないので、コードを見てみましょう。何が起こっているかを見てください。

 for ($i=0; $i <= 10; $i++) { 
      $result = $i; 
      echo "$result"; 
      echo "<br>"; 
     } 

我々は0と10の間でループしている上、各時間は約$resultとして私達のループ番号を記憶します。

//---------------------------------------------- 
     echo "<hr width='100%'>"; 
//---------------------------------------------- 
     $s=$result; 
     $c=$result; 
     $test=array_fill($s, $c, 0); 
     $ts=microtime(true); 

ループが終了し、私たちは動き出しています。このコードは一度実行されます。 $resultので、ループの最後で10をし、$s$cは、常に私たちは今、再び0と10の間のループになるだろう10.

 for ($i=0; $i <= 10; $i++) { 
      $selection1=mt_rand($s, $c); 
      $selection2=mt_rand($s, $c); 

      echo "$selection1 and $selection1"; 
      echo "<br>"; 
     } 

に設定されます。 mt_rand()は常に$s$cの間の値を返します。常に1010に設定されます。したがって、常に10になります。 10 and 10を10回エコーします。

あなたが探しているものが不明なので、その説明をそのまま残しておきます。

+0

説明のおかげで\t 私はまだ混乱していますが、上記のような結果が欲しい場合は、コーディングの例を含めてください。あなたの方法を含めてください –

+0

この問題は、$ sと$ cがどのようにしてランダム、マスター、または他の解決法で評価されるのですか?私が望むように出力しますか? –

+0

その説明の後に 'mt_rand()'が常に10を出力している理由を理解できない場合は、おそらくあなたのスキルレベルでは難しい課題に取り組もうとしています。これは非常に単純な問題です。コードを書く人が必要な人は、誰かを雇うことを検討してください。 –

関連する問題