跳转到主内容
极星编程网:以代码为星,赴技术山海!

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

求二维数组合并的一个改进 一个抽奖程序,每次抽奖机会需要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元

相关文章