搜索
系统检测到您的用户名不符合规范:

求二维数组合并的一个改进

浏览:936 发布日期:2014年10月25日 分类:功能实现 关键字: 数组合并,thinkphp
求二维数组合并的一个改进
一个抽奖程序,每次抽奖机会需要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<5;$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)
}
}
收藏
jkluooop
积分:589 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /