선

비복원 추출 구현하기

· 2021-03-16 (화) 20:25:18 · 6755 · 9

[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개

감사합니다.
2021-03-17 (수) 22:20:34
$a = [1,2,3,4,5];
shuffle($a);
$b = $a;
$a = array_fill(0, 5, null)

이거랑 같은건가요?
@몰라무서워 같네요
2021-03-18 (목) 10:46:25
감사합니다.
감사합니다^^
코딩이 좀 .... 초보적이네요 !
굿굿
2021-03-25 (목) 09:02:06
감사합니다^^
감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
21-04-01 조회 6,962
21-03-27 조회 7,539
21-03-16 조회 6,756
21-03-16 조회 7,386
21-03-15 조회 8,701
21-03-10 조회 5,546
21-03-09 조회 8,103
21-03-09 조회 8,922
21-03-08 조회 6,512
21-03-08 조회 9,390
21-03-07 조회 5,859
21-03-05 조회 6,490
21-03-04 조회 8,574
21-02-26 조회 6,580
21-02-24 조회 5,725
21-02-20 조회 9,045
21-02-16 조회 8,132
21-02-16 조회 6,106
21-02-14 조회 1.6만
21-02-11 조회 7,547
21-02-03 조회 6,166
21-02-01 조회 6,358
21-01-31 조회 8,197
21-01-30 조회 5,767
21-01-29 조회 7,094
21-01-29 조회 6,670
21-01-28 조회 7,083
21-01-28 조회 9,505
21-01-26 조회 5,512
21-01-26 조회 7,626