> php教程 > php手册 > 본문

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

WBOY
풀어 주다: 2016-06-07 11:40:51
원래의
1080명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿