선

비복원 추출 구현하기

· 2021-03-16 (화) 20:25:18 · 6754 · 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,961
21-03-27 조회 7,539
21-03-16 조회 6,755
21-03-16 조회 7,384
21-03-15 조회 8,699
21-03-10 조회 5,544
21-03-09 조회 8,103
21-03-09 조회 8,917
21-03-08 조회 6,510
21-03-08 조회 9,390
21-03-07 조회 5,855
21-03-05 조회 6,488
21-03-04 조회 8,571
21-02-26 조회 6,579
21-02-24 조회 5,724
21-02-20 조회 9,044
21-02-16 조회 8,129
21-02-16 조회 6,104
21-02-14 조회 1.6만
21-02-11 조회 7,546
21-02-03 조회 6,164
21-02-01 조회 6,358
21-01-31 조회 8,196
21-01-30 조회 5,765
21-01-29 조회 7,092
21-01-29 조회 6,668
21-01-28 조회 7,082
21-01-28 조회 9,504
21-01-26 조회 5,511
21-01-26 조회 7,623