2026, 새로운 도약을 시작합니다.

비복원 추출 구현하기

[code]

<?php
$a = [1,2,3,4,5];
print_r($a);

nre(5);
print_r($a);

function nre($count){
    global $a;
    $len = count($a);
    $tmp = [];
    for($i = 0; $i < $count; $i++) {
        $randNum = rand(0,$len-1);
        if($a[$randNum] != NULL) {
            array_push($tmp, $a[$randNum]);
            $a[$randNum] = NULL;
        } else {
            $i--;
        }
    }
    print_r ($tmp);
}

[/code]

결과 : 

Array // $a 변수, 기존 배열 
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array // 비복원추출한 후 새로운 배열
(
    [0] => 1
    [1] => 5
    [2] => 2
    [3] => 4
    [4] => 3
)
Array //비복원 추출 후 $a 배열
(
    [0] => 
    [1] => 
    [2] => 
    [3] => 
    [4] => 
)
 

랜덤 확률을 구현하려고 작업 했는데 혹시나 필요하신 분이 있을까 해서 공유합니다.

|

댓글 9개

$a = [1,2,3,4,5];
shuffle($a);
$b = $a;
$a = array_fill(0, 5, null)

이거랑 같은건가요?
@몰라무서워 같네요
감사합니다.
코딩이 좀 .... 초보적이네요 !
감사합니다^^

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,598
2741 3일 전 조회 121
2740 5일 전 조회 109
2739 1주 전 조회 210
2738 1주 전 조회 218
2737 1주 전 조회 181
2736 1주 전 조회 280
2735 3주 전 조회 284
2734 3주 전 조회 263
2733 1개월 전 조회 265
2732 1개월 전 조회 301
2731 1개월 전 조회 268
2730 1개월 전 조회 227
2729 1개월 전 조회 357
2728 1개월 전 조회 245
2727 1개월 전 조회 422
2726 1개월 전 조회 256
2725 1개월 전 조회 332
2724 1개월 전 조회 361
2723 1개월 전 조회 267
2722 1개월 전 조회 300
2721 1개월 전 조회 212
2720 2개월 전 조회 304
2719 2개월 전 조회 307
2718 2개월 전 조회 202
2717 2개월 전 조회 337
2716 2개월 전 조회 202
2715 2개월 전 조회 312
2714 2개월 전 조회 273
2713 2개월 전 조회 376
2712 2개월 전 조회 289
🐛 버그신고