This article mainly introduces the effect of pretending to be busy with limited-time sales of goods based on PHP. I hope to be helpful.
Recently I am working on a project, which is about the function of displaying rush to buy products. For example, if our website has a lot of traffic, if thousands of users click on your product at the same time within a few seconds, it will indeed appear that "there are too many people rushing to buy, and the system is busy."
But, it is a big problem However, some websites are not so awesome. In order to make users feel that the products are very popular, we need to make a program to "pretend to be busy" (except Taobao, don't think that other websites are really busy). It's very busy, but they deliberately make you feel that you can't buy it without grabbing it, please understand)
This article will set a rule, and you can expand it according to my ideas
#. ## 1. Everyone can click on the product purchase link$arr=array(“red”,”red”,”red”,”blue”,”blue”,”blue”,”blue”,”blue”,”blue”,”blue”); echo $arr[rand(0,9)];
Step 1:
$arr=array("red","red","red"," blue","blue","blue","blue","blue","blue","blue"); This thing must be there, these are the three red balls and 7 basketballs that are initialized Step 2: Mix randomly and randomly.
The above array has 10 elements. We can exchange two random balls. You can decide how many times to exchange them.
First write a swap function ( If you don’t understand this function, you need to supplement the basic knowledge)
function swap($i,$j,$arr) { $tmp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$tmp; return $arr; }
To implement this function, I enter two Any serial number can be used to exchange the sequence numbers in this array.
Step 3: Optimize the exchange algorithm.
So we have to write a supplementary function to ensure that every exchange must be a random exchange of red balls and basketballs
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)]; }
The function of this function is to find the red ball or basketball among the 10 balls, then take out their current serial numbers, and then use the rand function to randomly pick a basketball or red ball The ball's serial number.
Please take a look here:
$i=getRange($arr,”red”); //这样可以取出随机一个红球的序号 $j=getRange($arr,”blue”); //这样可以取出随机一个篮球的序号
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/>”; //这个语句可以看一下输出,混合过后的排列,是否每次都不一样 }
## The important thing to note here is that $num< 10. Mix 10 times on my behalf. It's equivalent to using your big hands to stir the bag 10 times. Theoretically, the more you stir, the stronger the randomness. Here 10 times is actually enough.
echo $arr[rand(0,9)];
If the content is blue, exit directly ("I'm very busy, don't bother")
If it is red, then let the program continue to execute the purchase process.related suggestion:
php implements event candidate lottery function code
php implements simple permission management
The above is the detailed content of PHP randomly returns busy effect. For more information, please follow other related articles on the PHP Chinese website!