비복원 추출 구현하기
[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)
이거랑 같은건가요?
게시글 목록
| 번호 | 제목 |
|---|---|
| 22569 | |
| 22566 | |
| 22565 | |
| 22559 | |
| 22530 | |
| 22527 | |
| 22525 | |
| 22521 | |
| 22518 | |
| 22506 | |
| 22500 | |
| 22490 | |
| 22487 | |
| 22481 | |
| 22480 | |
| 22473 | |
| 22471 | |
| 22468 | |
| 22453 | |
| 22449 | |
| 22440 | |
| 22436 | |
| 22435 | |
| 22415 | |
| 22407 | |
| 22404 | |
| 22376 | |
| 22364 | |
| 22362 | |
| 22353 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기