비복원 추출 구현하기
[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)
이거랑 같은건가요?
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4443 | ||
| 2694 | 2개월 전 | 203 | ||
| 2693 | 2개월 전 | 161 | ||
| 2692 | 2개월 전 | 168 | ||
| 2691 | 2개월 전 | 182 | ||
| 2690 | 2개월 전 | 335 | ||
| 2689 | 2개월 전 | 246 | ||
| 2688 |
|
2개월 전 | 449 | |
| 2687 | 3개월 전 | 301 | ||
| 2686 |
선택과집중
|
3개월 전 | 339 | |
| 2685 | 3개월 전 | 300 | ||
| 2684 | 3개월 전 | 360 | ||
| 2683 | 3개월 전 | 491 | ||
| 2682 | 3개월 전 | 284 | ||
| 2681 | 3개월 전 | 310 | ||
| 2680 |
선택과집중
|
3개월 전 | 283 | |
| 2679 | 3개월 전 | 338 | ||
| 2678 |
|
3개월 전 | 436 | |
| 2677 |
|
3개월 전 | 509 | |
| 2676 | 3개월 전 | 334 | ||
| 2675 | 3개월 전 | 311 | ||
| 2674 |
선택과집중
|
3개월 전 | 488 | |
| 2673 |
|
3개월 전 | 328 | |
| 2672 | 3개월 전 | 345 | ||
| 2671 | 3개월 전 | 293 | ||
| 2670 | 3개월 전 | 268 | ||
| 2669 | 3개월 전 | 380 | ||
| 2668 | 3개월 전 | 296 | ||
| 2667 |
선택과집중
|
3개월 전 | 495 | |
| 2666 |
선택과집중
|
4개월 전 | 478 | |
| 2665 |
선택과집중
|
4개월 전 | 417 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기