2013-02-13 4 views
1

사용자가 확인란을 사용하여 숫자를 선택하는 HTML 양식이 있습니다. 숫자는이 같은 PHP 배열로 넣어 :고유 번호 목록

<input type="checkbox" name="formnumber[]" value="1" /> 

1에서 I 출력으로의 번호를 사용하여 한 줄에 5 개의 고유 번호 (10 개) 독특한 라인의 목록을 원하는 24에 데리러 24 수있다 정렬.

예 : 양식에서 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16을 선택합니다. 결과는 다음과 같을 것이다 : 나는 그것을 가지고

2 16 4 1 15 
10 13 2 4 5 
12 1 3 16 11 

etc etc (10 lines) 

이 같은 일을하지만 난 여전히 땐 중복을 얻는다. 양식에 5-24 개의 숫자를 입력 할 수 있으며 출력에 4 개의 숫자로 이루어진 고유 한 임의의 줄을 얻을 수 있습니다.

$i=1; 

while ($i<=$xresults) { 

$numbers = $_POST['formnumber']; 

shuffle($numbers); 

$counter = 0; 

    foreach ($numbers as $number1) { 

     echo "<span>$number1</span> "; 

    if(++$counter >= 4) { break; } 

} 

$i++; 

echo '<p>'; 

} 

} 
+1

, 무엇을했다 아니에요 :

글쎄, 나는 같은 것을 할 것인가? 모든 것을 작성하는 방법은 많습니다. 실제로 스택 오버플로가 아닙니다. – Ryan

+0

어떤 라인에 어떤 숫자가 출력되는지는 명확하지 않습니다. – Bohemian

답변

4

기본적으로 선택한 상자 중 5 가지 조합을 선택해야합니다. 당신이 시도 무엇

$flip = array_flip($_POST['formnumber']); 
for($i=0; $i<10; $i++) { 
    $combo = array_rand($flip,5); 
    echo implode(" ",$combo)."\n"; 
} 
+0

'array_rand' 대'shuffle'의 장점은 무엇입니까? 왜 당신이 다른 하나를 골랐는지 궁금합니다. – Floris

+0

정말 고마워요. 정확히 필요한 것입니다. 나는 코드 작업을하고 있었지만 그 주위에 머리를 쓰지 못했습니다. –

+1

@Floris'array_rand'는 배열에서 임의의 키를 선택합니다. shuffle은 원래 배열을 뒤섞습니다. –