php for 迴圈思路問題

來源:互聯網
上載者:User
關鍵字 php for
phpfor

我是PHP新手,最近開發項目求二叉樹體系的福利獎。寫完後執行效率太低。求高手大神指點一下思路。
1.左右業績達到1W就是主管。 管理體系下有2個主管就是經理。管理體系下有2個經理就是董事。 0會員,1主管,2經理,3董事。
我寫的代碼如下:
//福利獎開始
unset($map);//銷毀map變數值
$map['_string']=" datediff(curday,'".$beginday."')<=0";
//查詢所有會員業績
$hyyjlist=$hyyj->where($map)->field(' userid,sum(leftyj1)+sum(leftyj2) as sumleft')->group('userid')->select();
$glrCountArry=array();//key:主管name+flrjl value:人數 儲存主管人數的 數組
foreach ($hyyjlist as $hkey=>$hvalue){//迴圈更新使用者的主管福利
if($hvalue['sumleft']>=10000){
$us=$userListArry[$hvalue['userid']];//3根據ID獲得會員
if($us['flstate']==0){//狀態是0 會員
if($salary1->where(array('periods'=>$periods,'userid'=>$us['id']))->setField(array('flj'=>'z主管獎內容z'))===false){
$salary->rollback();
$this->error('福利獎更新失敗');
}
for(!empty($us['gluser']),$i=0;$i if(!array_key_exists($us['gluser']."flrzg", $glrCountArry)){
$glrCountArry[$us['gluser']."flrzg"]=1;
}else{
$glrCountArry[$us['gluser']."flrzg"]+=1;
}
$us=$userNameListArry[$us['gluser']];
if(empty($us)){
$i=count($userlist);
}
}
}
}
}
$find['state']=array('eq',1);//狀態=1啟用
$find['_string']="from_unixtime(confirmtime,'%Y-%m-%d') $list2=$users->where($find)->select();//查詢會員列表
$glrCountArry2=array();// key:經理name+flrjl value:人數 儲存經理人數的 數組
foreach ($list2 as $key=>$value){//獲得經理福利
$us=$value;
if($us['flstate']==1){
for(!empty($us['gluser']),$i=0;$i if($glrCountArry[$us['username']."flrzg"]>0){//會員是主管層級,主管數組的人數大於0 更新會員的經理福利
if($salary1->where(array('periods'=>$periods,'userid'=>$us['id']))->setField(array('flj'=>'z經理獎內容z'))===false){
$salary->rollback();
$this->error('福利獎更新失敗2');
}
}
if(!array_key_exists($us['gluser']."flrjl", $glrCountArry2)){//使會員的上層經理+1
$glrCountArry2[$us['gluser']."flrjl"]=1;
}else{
$glrCountArry2[$us['gluser']."flrjl"]+=1;
}
$us=$userNameListArry[$us['gluser']];
if(empty($us)){
$i=count($userlist);
}
}
}else if($value['flstate']==0){//會員等級不是主管,主管數組的人數大於1 更新會員的經理福利
for(!empty($us['gluser']),$i=0;$i if($glrCountArry[$us['username']."flrzg"]>1){//會員是主管層級,主管數組的人數大於0 更新會員的經理福利
if($salary1->where(array('periods'=>$periods,'userid'=>$us['id']))->setField(array('flj'=>'z經理獎內容z'))===false){
$salary->rollback();
$this->error('福利獎更新失敗2');
}
}
if(!array_key_exists($us['gluser']."flrjl", $glrCountArry2)){//使會員的上層經理+1
$glrCountArry2[$us['gluser']."flrjl"]=1;
}else{
$glrCountArry2[$us['gluser']."flrjl"]+=1;
}
$us=$userNameListArry[$us['gluser']];
if(empty($us)){
$i=count($userlist);
}
}

            }    }    foreach ($list2 as $key=>$value){//獲得董事福利        $us=$value;        if($us['flstate']==2){//狀態為2經理            for(!empty($us['gluser']),$i=0;$i0){//會員是經理層級,經理數組的人數大於0 更新會員的董事福利                    if($salary1->where(array('periods'=>$periods,'userid'=>$us['id']))->setField(array('flj'=>'z董事獎內容z'))===false){                        $salary->rollback();                        $this->error('福利獎更新失敗3');                    }                }                $us=$userNameListArry[$us['gluser']];                if(empty($us)){                    $i=count($userlist);                }            }        }else if($value['flstate']<2){//狀態不是經理的,只要經理數組的人數達到2個更新會員的董事福利            for(!empty($us['gluser']),$i=0;$i1){//會員是經理層級,經理數組的人數大於1 更新會員的董事福利                    if($salary1->where(array('periods'=>$periods,'userid'=>$us['id']))->setField(array('flj'=>'z董事獎內容z'))===false){                        $salary->rollback();                        $this->error('福利獎更新失敗3');                    }                }                $us=$userNameListArry[$us['gluser']];                if(empty($us)){                    $i=count($userlist);                }            }        }    }    //福利獎結束
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.