2016-05-14 42 views
-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

歡迎來到Stack Overflow!請參閱[問]和[完美問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。 – Rizier123

+0

因爲它已經在你的最後一個問題中提到過:http://stackoverflow.com/q/37220786/3933332 for循環運行後'$ result'將爲10。 (順便說一下,在for循環中你的變量的引號是不必要的)。所以之後你把10賦給'$ s'和'$ c'。 (與此同時,您將創建一個數組,從索引10開始,10個元素的值爲0)。在下一個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總是被設置爲10

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

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

現在我們將循環0到10之間的一次。 mt_rand()將始終返回$s$c之間的值,該值始終設置爲1010,因此始終爲10。我們只會回覆10 and 10 10次。

我不確定你在找什麼,所以我會在那裏留下那個解釋。

+0

感謝解釋,\t 我仍然困惑,如果我想要結果如上,我應該做的,請包括編碼先生的例子?請包括你的方式 –

+0

這樣設置$ s和$ c如此評價隨機,主或者其他解決這個問題的方法嗎?與我想要的輸出? –

+0

如果你不明白爲什麼'mt_rand()'在解釋後總是輸出10,那麼你可能試圖對你的技能水平挑戰太難。這是一個非常簡單的問題。如果您需要某人爲您編寫代碼,請考慮僱用某人。 –