2013-05-08 2 views
0
for($i = 1; $i <= 5; $i++) 
{ 
    echo $i . ','; 
} 

제작 : 1,2,3,4,5임의의 값의 내부 루프

어떻게 이런 결과의 순서를 무작위로 : 최선을 다해

1,3,5,2,4 or 5,3,2,1,4 or 4,2,1,3,5 and so on.. 

1 upvote에 대답. :-)

고마워요!

+1

방법 HTTP에 대한 : // php.net/manual/en/function.shuffle.php – japesu

+0

연구가 없습니다. –

+2

아무런 이유없이 루핑을하고 무작위가 필요한 경우, 최상의 응답을 위해서는'rand() & 5;'와'1 upvote '를 사용하십시오. :-)'좋은 제안처럼 들린다 –

답변

2

그것은 먼저 배열을 생성하는 가장 쉬운 것

echo join(',', $numbers); 
2

그래서 먼저 값으로 배열을 작성이

function rand_num($min, $max, $quantity) { 
    $numbers = range($min, $max); 
    shuffle($numbers); 
    return array_slice($numbers, 0, $quantity); 
} 

print_r(rand_num(1,5,5)); 

출력

Array ([0] => 4 [1] => 3 [2] => 1 [3] => 2 [4] => 5) 

Codepad

+0

이것은 5 개의 난수를 인쇄 할 수 있지만 5 개의 다른 난수는 인쇄하지 않습니다 – 75inchpianist

+0

@ 75inchpianist 편집 된 답변보기. 이제 당신 downvote을 제거 할 수 있습니다 .. :) –

+0

아픈 그것을 제거,하지만 당신의 대답은 매우 간단한 문제에 대해 매우 간단하지 같아요 – 75inchpianist

1

당신은 무작위 세트를 인쇄 할 시도

for ($i=1;$i<=5;$i++){ 
    $array[$i]=$i; 
} 

그래서 지금은 셔플 {1,2,3,4,5]

처럼 보일 수 있습니다 그것은

shuffle($array); 

지금 다음 {2,4,5,3,1} 처럼 보였다 수있다 그것을 인쇄하십시오

for ($i=1;$i<=5;$i++){ 
    echo $array[$i].','; 
    } 

2,4,5,3,1 yay!

다음은 거울 앞에서 속옷을 입고 춤을 추며 축하합니다. 셔플 다음

$numbers = range(1, 5); 

을 그리고 :

shuffle($numbers); 

그런 다음, 인쇄에 :

+0

노력이 많지만 반복되는 일이 너무 많습니다. –