비복원 추출 구현하기
[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)
이거랑 같은건가요?
게시글 목록
| 번호 | 제목 |
|---|---|
| 23254 | |
| 23244 | |
| 23241 | |
| 23236 | |
| 23200 | |
| 23199 | |
| 23179 | |
| 23174 | |
| 23138 | |
| 23128 | |
| 23125 | |
| 23116 | |
| 23109 | |
| 23099 | |
| 23092 | |
| 23083 | |
| 23079 | |
| 23063 | |
| 23050 | |
| 23036 | |
| 23029 | |
| 23007 | |
| 23003 | |
| 22983 | |
| 22959 | |
| 22943 | |
| 22939 | |
| 22934 | |
| 22905 | |
| 22897 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기