PHP 코드에서 빨간 봉투 기능을 구현하는 방법: 1. 행운의 빨간 봉투를 얻으려면 distribution_red_bages 메소드를 사용하십시오. 2. 빨간 봉투를 균등하게 분배하려면 rob_red_bages 메소드를 사용하십시오. 봉투의 집합입니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP 코드에서 빨간 봉투 기능을 구현하는 방법은 무엇입니까?
PHP 빨간 봉투 기능 코드
얼마 전에 이런 질문을 받았는데 최근에 시간이 나면 글을 쓰겠습니다. 꽤 흥미롭네요
우선 빨간 봉투를 잡는 방법을 분류해 보겠습니다.
빨간 봉투를 보내는 사람들에게는 다음이 있습니다. 카테고리는 대략 3가지 정도 (다른건 아직 생각해보지 못했는데 생각나시면 연락주세요~)
1. 행운의 빨간봉투 갯수는 유동적입니다. (모두 운에 달려있습니다.)
2. The 지정된 개수의 행운의 빨간 봉투 (숫자는 확실함, 1점 이상)
3. 빨간 봉투는 균등하게 나누어집니다 (숫자는 확실합니다. 모두가 똑같이 공유합니다) 이게 쓰기 더 쉽죠? 안녕하세요
코드:
<?php var_dump(rob_red_bages(5 , 10)); var_dump(distribute_red_bages(5)); /* 方法主要功能:拼手气红包(个数不定) 一个参数 参数一: 红包总金额(按分计算) */ function distribute_red_bages($sum){ $sum = $sum*100; $i=0; while($sum>0){ $temp = rand(1 , $sum);//红包值 $sum -= $temp; $arr[$i++] = $temp/100; } //check($arr); return $arr; } /* 方法主要功能:均分红包 两个参数: 参数一: 红包总金额 参数二: 均分个数 */ function average_red_bages($sum , $num){ $res = $sum/$num; for($i=0 ; $i<$num ; $i++){ $arr[$i] = $res; } //check($arr); return $arr; } /* 方法主要功能:规定个数的手气红包 两个参数: 参数一:红包总金额 参数二:红包个数 计算流程,随机生成num个数 求和得到m 用sum/m 得到每个数需要k 用随机数*k */ function rob_red_bages($sum , $num){ $sum = $sum*100; for($i=0 ; $i<$num ; $i++){ $temp = rand(1 , $sum); $arr[$i] = $temp; $sumall += $temp; } $k = $sum/$sumall; for($i=0 ; $i<sizeof($arr); $i++){ $arr2[$i] = $arr[$i]*$k/100; } return $arr2; } /*红包总额检测*/ function check($arr){ foreach($arr as $a){ $sum += $a; echo $a."+"; } echo " 0 =".$sum."\n"; } ?>
행운의 빨간 봉투를 분석해 보겠습니다. (등분에 대해서는 이야기하지 않겠습니다. 모두가 알고 있습니다.):
행운의 빨간 봉투의 개수는 가변적입니다: (총액: 합계)
- --- >합계보다 무작위로 작은 첫 번째 숫자: n
---->총량에서 이 숫자를 뺍니다: temp = sum-n
---->임의로 temp보다 작은 숫자
-- -->총액이 0이 될 때까지 위의 방법을 반복합니다
---->임의의 결과를 저장하는 배열을 반환합니다.
이 방법은 더 일반적이며 지정된 숫자를 달성하는 데에도 사용할 수 있습니다. 빨간 봉투! 그런데~
행운의 빨간 봉투 개수를 규정하는 아이디어(총액 합계, 빨간 봉투 개수 num)
----> 합계보다 작은 숫자를 무작위로 배열 생성
- ---> 이 숫자의 합을 계산하여 allsum을 얻습니다
----> 생성된 모든 숫자의 공배수를 얻기 위해 합계를 나눕니다.
----> 공배수를 사용하여 각 빨간 봉투의 값을 구합니다
이 방법에는 단점이 있습니다(나눗셈으로 인해 무리수가 나올 수 있으므로 최종 결과가 합보다 약간 크거나 합보다 약간 작을 수 있습니다)
아마도 그럴 것입니다! 소통하고 수정하는 것을 환영합니다! ~~
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP 코드에서 빨간 봉투 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!