이 글에서는 주로 PHP 기반의 상품 기간 한정 판매로 바쁜 척하는 효과를 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.
최근 저는 판매중인 제품을 진열하는 기능에 관한 프로젝트를 진행하고 있습니다. 예를 들어, 우리 웹사이트에 트래픽이 많다면, 수천 명의 사용자가 몇 초 내에 동시에 귀하의 제품을 클릭한다면 실제로 "구매하려고 서두르는 사람이 너무 많아 시스템이 바쁘다"는 것처럼 보일 것입니다. "
하지만 대부분의 웹사이트는 그렇지 않습니다. 그다지 대단하지 않습니다. 사용자가 제품에 대한 수요가 많다고 느끼게 하려면 항상 "시스템이 사용 중입니다"라는 메시지를 표시하여 "바쁜 척"하는 프로그램을 만들어야 합니다( 타오바오를 제외한 다른 사이트는 너무 바쁘다고 생각하지 마세요. 일부러 잡지 않고는 살 수 없다는 느낌을 주니 이해해 주세요)
이 글은 규칙을 정하고 확장할 수 있습니다. 내 아이디어에 따라
1. 누구나 제품 구매 링크를 사용할 수 있습니다.
2. 사용자에게 "대기 중, 상품이 바쁨" 가능성을 70% 제공하고 싶습니다.
이 기사는 PHP 코드로 구현됩니다. , 다른 언어와 마찬가지로
먼저 초등학교 때 배운 지식을 사용합니다. 생각해 보세요:
1. 공 10개, 빨간 공 3개, 농구공 7개를 무작위로 섞어서 손을 넣습니다. , 농구공을 만질 확률은 얼마인가요? ? 예전에 친구에게 이 요구 사항을 보여줬더니
$arr=array(“red”,”red”,”red”,”blue”,”blue”,”blue”,”blue”,”blue”,”blue”,”blue”); echo $arr[rand(0,9)];
라고 하더군요. 두 문장
이 접근 방식은 실제로 매우 똑똑합니다. 그러나 이 작은 친구는 매우 중요한 점을 무시했습니다
2. 두 번째 사람이 만지면 어떻게 될까요? 그러면 10개의 공을 채워야 합니다(아직 빨간 공 3개와 농구공 7개가 있습니다)
그리고 가장 중요한 것은 계속해서 "무작위로" 섞는 것입니다. 이렇게 하면 두 번째 사람이 농구공에 닿을 확률이 높아집니다.
위 프로그램은 분명히 무시합니다. 계속해서 "무작위로" 혼합합니다. 처음 3개의 빨간색과 마지막 7개의 파란색에 따라 공을 터치하면 PHP의 rand 함수는 다음을 보장할 수 없습니다. 농구는 70%입니다. 많은 마스터들이 베이지안, 행렬 및 기타 단어와 같은 다양한 고급 알고리즘을 고안할 것입니다. 이러한 전자 상거래 기능에 그렇게 복잡한 계산이 필요한 경우 귀하의 상사는 귀하의 지출에 동의하지 않을 것입니다. . 이 기능을 완료하는 데 시간이 너무 많이 걸립니다.
다음으로 간단하면서도 정확한 알고리즘을 공개하겠습니다. 우리의 목표는 농구공에 닿을 확률을 최대한 가깝게 만드는 것입니다.
1단계:$arr=array("red","red","red","blue","blue","blue","blue","blue"," blue","blue "); 이것이 있어야 합니다. 이것은 초기화된 빨간 공 3개와 농구공 7개입니다
두 번째 단계: 무작위 및 무작위 혼합.
위 배열에는 10개의 요소가 있으며, 무작위 공 2개를 교환할 수 있습니다. 그리고 몇 번 교환할지 정할 수 있습니다
function swap($i,$j,$arr) { $tmp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$tmp; return $arr; }
위의 교환 함수와 입력된 임의 매개변수로 인해 빨간 공이 빨간 공으로 바뀌거나, 농구공이 농구공으로 바뀌게 됩니다. 그러나 "실제" 혼합은 달성되지 않습니다 따라서 모든 교환이 빨간 공과 농구공의 무작위 교환이 되도록 보장하는 보충 함수를 작성해야 합니다
function getRange($arr,$v) { $ret=array(); for($i=0;$i<count($arr);$i++) { if($arr[$i]==$v) { $ret[]=$i; } } return $ret[rand(0,count($ret)-1)]; }
여기를 살펴보세요:
$i=getRange($arr,”red”); //这样可以取出随机一个红球的序号 $j=getRange($arr,”blue”); //这样可以取出随机一个篮球的序号
4단계: 더 중요합니다.
무작위로 믹싱을 시작하세요
for($num=0;$num<10;$num++) { $i=getRange($arr,”red”); $j=getRange($arr,”blue”); $arr=swap($i,$j,$arr); // echo implode(“,”, $arr).”|”.$i.”|”.$j.”<br/>”; //这个语句可以看一下输出,混合过后的排列,是否每次都不一样 }
네 번째 단계가 완료된 후 나오는 $arr는 빨간 공과 농구공의 혼합입니다.
echo $arr[rand(0,9)];
내용이 파란색이면 바로 종료합니다("바빠요, 귀찮게 하지 마세요") 빨간색이면 프로그램이 계속 실행되도록 합니다. 구매 과정.
관련 추천:
위 내용은 PHP는 무작위로 바쁜 효과를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!