Notice
Recent Posts
Recent Comments
Tags
- 하드 마이그레이션
- TempData
- javascript 바코드 생성
- django 엑셀불러오기
- Mac Oracle
- 강제이동
- javascript redirection
- 맥 오라클설치
- php 캐쉬제거
- asp.net Select
- 타임피커
- 바코드 생성하기
- javascript 바코드스캔
- asp.net core Select
- asp.net dropdownlist
- XSS방어
- jquery 바코드생성
- 파일업로드 체크
- 바코드 스캔하기
- 말줄임표시
- 404에러페이지
- jquery 바코드
- XSS PHP
- ViewData
- 하드 윈도우 복사
- SSD 복사
- javascript 유효성체크
- ASP.Net Core 404
- 파일업로드 유효성체크
- ViewBag
웹개발자의 기지개
[PHP] 배열값 가중치별로 랜덤값 얻어오기 본문
특정한 값들 중에서 랜덤한 값을 가져올때, 가중치를 적용하여 해당 값을 얻어오고 싶을때,
아래의 소스를 유용하게 이용할 수 있을것 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?
function weighted_random($weights) {
$r = rand(1, array_sum($weights));
for($i=0; $i<count($weights); $i++) {
$r -= $weights[$i];
if($r < 1) return $i;
}
return false;
}
$values = ['a','b','c'];
$weights = [10,20,70];
/*
$index = weighted_random($weights);
$result = $values[$index];
echo $result;
*/
for($i=0;$i<50;$i++) {
$index = weighted_random($weights);
$result = $values[$index];
echo "$result<br/>";
}
?>
|
cs |
참고 : https://zetawiki.com/wiki/%EA%B0%80%EC%A4%91%EC%B9%98_%EB%9E%9C%EB%8D%A4_%EA%B5%AC%ED%95%98%EA%B8%B0
'PHP' 카테고리의 다른 글
[PHP] 파일 다운로드시 ERR_INVALID_RESPONSE 에러날때 (0) | 2022.04.01 |
---|---|
[PHP] 날짜 관련 내용 정리 (0) | 2021.11.11 |
[PHP] 노캐쉬 기능 적용하기 (No Cache) (0) | 2021.08.12 |
[PHP] CSRF 공격방어 작업하기 (0) | 2021.07.25 |
[PHP] 다소 긴 문장형식의 문자열을 간단히 변수처리하는 방법 (0) | 2021.07.20 |
Comments