2014-02-20 3 views
0

배열의 값을 무작위로 출력하려고하므로 표시 순서가 정해지지 않았습니다. 예상대로 작동하지 않습니다.배열을 임의화한 다음 foreach 루프에서 검색하십시오.

그들은 여전히 ​​배열에 나열된 순서대로 표시

, 그래서 .. 뭔가 빠진해야

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

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

        include($itemArray[0]); 

       } 

나는 rand_array를 사용하는 대신해야 하는가? 당신의 foreach 변수 $item 내부

답변

2

는 현재 항목을 포함, 그래서 그것은과 같습니다 ...

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]을 반복적으로 포함합니다.
관련 문제