Home > php教程 > php手册 > body text

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

WBOY
Release: 2016-06-07 11:40:51
Original
1080 people have browsed it

求二维数组合并的一个改进
一个抽奖程序,每次抽奖机会需要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){<br>         $blankGifts=array();<br>         for($i=1;$i             $blankGifts[$i-1]=array(<br>               'gtype'=>$i,<br>               'uid'=>$uid,<br>               'total'=>0<br>             );<br>             foreach ($gifts as $val){<br>                 if($val['gtype']==$i){<br>                     $blankGifts[$i-1]=$val;<br>                     break;<br>                 }<br>             }<br>         }<br>         return $blankGifts;<br>     }dump结果:<br> array(2) {<br>   [0] => array(3) {<br>     ["gtype"] => string(1) "1"<br>     ["uid"] => string(1) "2"<br>     ["num"] => string(1) "1"<br>   }<br>   [1] => array(3) {<br>     ["gtype"] => string(1) "3"<br>     ["uid"] => string(1) "2"<br>     ["num"] => string(1) "3"<br>   }<br> }<br> array(4) {<br>   [0] => array(3) {<br>     ["gtype"] => string(1) "1"<br>     ["uid"] => string(1) "2"<br>     ["num"] => string(1) "1"<br>   }<br>   [1] => array(3) {<br>     ["gtype"] => int(2)<br>     ["uid"] => int(2)<br>     ["num"] => int(0)<br>   }<br>   [2] => array(3) {<br>     ["gtype"] => string(1) "3"<br>     ["uid"] => string(1) "2"<br>     ["num"] => string(1) "3"<br>   }<br>   [3] => array(3) {<br>     ["gtype"] => int(4)<br>     ["uid"] => int(2)<br>     ["num"] => int(0)<br>   }<br> }

AD:真正免费,域名+虚机+企业邮箱=0元

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template