php 질문 드립니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

php 질문 드립니다. 정보

php 질문 드립니다.

본문

$number = array("1", "2", "3"...,"18");
가령 위와같이 숫자 0부터 18까지가 있습니다.
위중에서 중복없이 5개의 숫자를 뽑아내
$number1
$number2
$number3
$number4
$number5 에 적용하고 싶습니다.

어떻게 하면 될까요 ㅠㅠ?
  • 복사

댓글 전체

가지고 있던 소스인데...
비슷할 거 같네요 수정해서 사용하세요


    function drawLotsNoOverlap($src, $num) {

        if(! is_array($src)) return false;
        
        $buff = array();
        $num_src = count($src);
        for($i=0; $i<$num_src; $i++) {
            $_key = $src[$i];
            $_val = rand(0, 100000);
            $buff[$_key] = $_val;
        }
        arsort($buff);
        reset($buff);
        
        $ret = array();
        for($i=0; $i<$num; $i++) {
            array_push($ret, key($buff));
            next($buff);
        }
        
        return $ret;
    }
    
    $src = range(1, 49);  ## 1~49의 원소를 갖는 배열
    $lot = drawLotsNoOverlap($src, 6); ## 이 중 6개 추출
    sort($lot); ## 정렬
    print_r($lot);
© SIRSOFT
현재 페이지 제일 처음으로