비복원 추출 구현하기
[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개
shuffle($a);
$b = $a;
$a = array_fill(0, 5, null)
이거랑 같은건가요?