Heim >php教程 >php手册 >求二维数组合并的一个改进

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

WBOY
WBOYOriginal
2016-06-07 11:40:511102Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn