中易网

php 当有两个for循环,

答案:1  悬赏:50  
解决时间 2021-01-16 04:33
  • 提问者网友:几叶到寒
  • 2021-01-15 10:41
php 当有两个for循环,
最佳答案
  • 二级知识专家网友:北方的南先生
  • 2021-01-15 10:54
$sql=mysql_query("select * from kjnum where kjdate in ($wherein) and ((bai >1 and bai < 11 ) or (bai >1 and bai < 11 ) or (shi >1 and shi < 11 ) or (ge >1 and ge < 11 ) or (si >1 and si < 11 )  or (wu >1 and wu < 11 ))");
//再用PHP去操作比如你的结果是:
$list = array(
array('kjdata'=>"20180401",'bai'=>2,'shi'=>4,'ge'=>3,'si'=>2,'wu'=>4),
array('kjdata'=>"20180401",'bai'=>4,'shi'=>2,'ge'=>3,'si'=>2,'wu'=>4),
array('kjdata'=>"20180402",'bai'=>2,'shi'=>4,'ge'=>3,'si'=>1,'wu'=>4)....);

//你要转成 以 kjdata 为key 的 3维数组 
$list = array(
'20180401' =>array(
    array('bai'=>2,'shi'=>4,'ge'=>3,'si'=>2,'wu'=>4),
    array('bai'=>4,'shi'=>2,'ge'=>3,'si'=>2,'wu'=>4)
),
'20180402' =>array(
array('bai'=>2,'shi'=>4,'ge'=>3,'si'=>1,'wu'=>4).............)
);
//如上
$table = array();
foreach($list as $key=>$vo){
    foreach($vo as $v){
        $table[$key][$v['bai']]++;
        $table[$key][$v['shi']]++;
        $table[$key][$v['ge']]++;
        $table[$key][$v['si']]++;
        $table[$key][$v['wu']]++;
    }
}

var_dump($table);

//对于PHP 即使1万次循环也不过不到0.01秒,而sql一条语句可能就是这个时间,所以尽量查询出结果,再PHP中操作分离
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息