2014-02-20 76 views
0

我試圖隨機輸出一個數組的值,所以沒有順序來顯示它們。它的工作原理並不如預期。隨機數組,然後在foreach循環中檢索

他們仍然在他們的陣中列出的相同順序顯示的,所以我必須失去了一些東西..

$itemArray = array("item1.php", "item2.php", "item3.php"); 
     shuffle($itemArray); 

     foreach ($itemArray as $item) { 
        shuffle($itemArray); 

        include($itemArray[0]); 

       } 

我應該使用rand_array呢?

回答

2

裏面你foreach變量$item包含當前的項目,所以它看起來像:

foreach($itemArray as $item) { 
    include($item); 
} 

不知道的理由是什麼,包括文件按隨機順序,但...

0

只要這個就足夠了:

$itemArray = array("item1.php", "item2.php", "item3.php"); 
shuffle($itemArray); 

foreach ($itemArray as $item) { 
    include($item); 
} 
  1. shuffle()隨機化就地陣列,稱其多次被不必要的,並可能導致項目重複或省略。
  2. 您正在循環遍歷$itemArray中的元素,但對於每次迭代重複包括$itemArray[0]而不是當前項目。