php秒殺、紅包、二維碼擴(kuò)展php秒殺、紅包、二維碼擴(kuò)展
php擴(kuò)展zqf (兼容php7)
全局變量適用于高并發(fā)搶購、秒殺,紅包生成,數(shù)組算法處理等,由于添加了二維碼生成功能,安裝本擴(kuò)展之前需要安裝libqrencode,
安裝方法如下:(兼容php7)
wget http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
tar zxvf qrencode-3.4.4.tar.gz
cd qrencode-3.4.4/
./configure
make&make install
如果沒有安裝libpng和libgd,也需要安裝
安裝方法如下:
sudo apt-get install libpng-dev
sudo apt-get install libgd-dev
致力于做工具類,其他的正在開發(fā)中
紅包生成算法(拼手氣紅包和普通紅包)
$obj=new zqf();
第一個(gè)參數(shù)是紅包總額,第二個(gè)人參數(shù)紅包數(shù)量,第三個(gè)參數(shù)默認(rèn)代表拼手氣紅包,設(shè)置為1的話為普通紅包
拼手氣紅包
$hongb= $obj->hongbao(10,8);或者$hongb= $obj->hongbao(10,8,0);返回?cái)?shù)組為Array ( [0] => 1.33 [1] => 1.02 [2] => 1.28 [3] => 0.44 [4] => 1.37 [5] => 0.81 [6] => 1.81 [7] => 1.94 )
普通紅包,每個(gè)人數(shù)額一樣設(shè)置第三個(gè)參數(shù)
$hongb= $obj->hongbao(10,8,1);返回?cái)?shù)組為Array ( [0] => 1.25 [1] => 1.25 [2] => 1.25 [3] => 1.25 [4] => 1.25 [5] => 1.25 [6] => 1.25 [7] => 1.25 )
var_dump($hongb);
高并發(fā)計(jì)數(shù)器使用方法如下:
首先安裝php擴(kuò)展zqf.so
phpize來安裝
然后在php文件調(diào)用
dl('zqf.so');或者phpini里加載
$obj=new zqf();
$counter= $obj->autoadd(0,1,0);(聲明只針對多線程)
echo $counter;
查找數(shù)組重復(fù)元素使用方法如下:
$arr=array(10,20,4,12,69,1,90,56,23,12,89,78);
$obj=new zqf();
$result= $obj->findrepetition($arr);查找$arr重復(fù)項(xiàng)算法
var_dump($result);//結(jié)果是Array ( [3] => 12 [9] => 12 )
二分法查找數(shù)組元素使用方法如下:
$arr=array(10,20,4,12,69,1,90,56,23,12,89,78);
$obj=new zqf();
$result= $obj->findval($arr,69);二分法快速查找$arr里的元素69,c底層會(huì)給數(shù)據(jù)進(jìn)行排序
var_dump($result);//結(jié)果是Array ( [8] => 69 [result] => Array ( [0] => 1 [1] => 4 [2] => 10 [3] => 12 [4] => 12 [5] => 20 [6] => 23 [7] => 56 [8] => 69 [9] => 78 [10] => 89 [11] => 90 ) )
二維碼生成使用方法如下:
$obj=new zqf();
$obj->savefile('https://www.baidu.com/s?wd=昌平香堂','./test.png',500);第一個(gè)參數(shù)是url,第二參數(shù)是保存路徑,第三個(gè)參數(shù)是二維碼長或者寬
生成透明二維碼:
$obj->savefile('https://www.baidu.com/s?wd=昌平香堂','./test.png',500,1);第四個(gè)參數(shù)默認(rèn)不生成透明,要想生成透明得傳一個(gè)參數(shù)
評論
圖片
表情
