一个抽奖程序,每次抽奖机会需要4种不同类型的礼包合成。
如下,数据库用了一个视图从礼包增减记录表分组求和查出来的结果。
uid gifttype, total
a 1 5
a 3 1
要动态求出用户的抽奖机会以及在页面循环输出的话,都希望上面的二维数组变成如下
a 1 5
a 2 0
a 3 1
a 4 0
我的算法如下,可以正常运行,解决问题。
待改进 1. 使用m()-select()搜出来的 uid,gifttype,total都是string 类型.
2. php有无更简单的内置函数之类的?
/////////////////////////////////////////////public function dealgifts($gifts,$uid){
$blankgifts=array();
for($i=1;$i $blankgifts[$i-1]=array(
'gtype'=>$i,
'uid'=>$uid,
'total'=>0
);
foreach ($gifts as $val){
if($val['gtype']==$i){
$blankgifts[$i-1]=$val;
break;
}
}
}
return $blankgifts;
}dump结果:
array(2) {
[0] => array(3) {
[gtype] => string(1) 1
[uid] => string(1) 2
[num] => string(1) 1
}
[1] => array(3) {
[gtype] => string(1) 3
[uid] => string(1) 2
[num] => string(1) 3
}
}
array(4) {
[0] => array(3) {
[gtype] => string(1) 1
[uid] => string(1) 2
[num] => string(1) 1
}
[1] => array(3) {
[gtype] => int(2)
[uid] => int(2)
[num] => int(0)
}
[2] => array(3) {
[gtype] => string(1) 3
[uid] => string(1) 2
[num] => string(1) 3
}
[3] => array(3) {
[gtype] => int(4)
[uid] => int(2)
[num] => int(0)
}
}
ad:真正免费,域名+虚机+企业邮箱=0元