728x90

1 ~ 45 사이의 숫자를 랜덤하게 6개를 추출하는 코드다.

검색해서 찾아보니 PHP School 에 올라온 코드를 수정해서 bootstrap 기반으로 작성했다.

mt_rand(1, 45); // 지정된 범위에서 랜덤한 숫자 반환하는데 번호 중복 발생한다.

이걸 이용해서 하는 방법도 좀 더 고민해보면 좋을거 같다.


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container col-md-6">
    <table class="table table-bordered table-hover table-responsive">
        <thead>
            <tr>
                <th align="center" colspan="7">로또번호 자동 생성기</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <?php
                $lotto = lotto(5);
                //$lotto = getLotto(5);
                for ($i = 0; $i < sizeof($lotto); $i++) {
                    $cnt = $i + 1;
                    echo '<td align="center" bgcolor=eeeeee>' . $cnt . 'th' . '</td>';
                    for ($j = 0; $j < 6; $j++) {
                        echo '<td align="center">' . $lotto[$i][$j] . '</td>';
                    }
                    echo "</tr>";
                }
            ?>
        </tbody>
    </table>
</div>
</body>
</html>

<?php
function lotto($num) {
    for ($i = 0; $i < $num; $i++) {
        $lott_num = range(1, 45); // range함수를 통해 1~45까지의 수를 배열로 생성
        shuffle($lott_num);  //배열 변수를 랜덤하게 뒤섞는다
        for ($j = 0; $j < 6; $j++) {
            $lotto[$i][$j] = $lott_num[$j];
        }
        /* 오름차순 정렬 sort 함수*/
        sort($lotto[$i]);
    }
    return $lotto;
}

?>



블로그 이미지

Link2Me

,