可以将php循环功能转换为双桶系统吗?

时间:2016-04-03 13:32:18

标签: php

有没有一种简单的方法可以修改这个php:

while($aResults = mysql_fetch_assoc($aResult)) { 
    $i++;
    foreach($aResults as $sKey=>$mValue){
        if(in_array($sKey, $aOrderKeys){
            $aOrder[$i][$sKey] = $mValue;
        } else {
            $aOrder[$i]['orderdetails'][$sKey] = $mValue;
        }
    }
}

让它像这样循环:

function cycleCols() {
    $p = "transparent;";
    $s = "#efefef;";
    static $lastColour;
    $lastColour = ($lastColour == $p) ? $s : $p;
    return $lastColour;
}

等等,而不是现在的样子..

transparent;
transparent;
#efefef;
#efefef;
transparent;
transparent;
#efefef;
#efefef;

等......还是需要建立其他东西才能做到这一点?

1 个答案:

答案 0 :(得分:1)

function cycleCols() {
    static $colors = ['transparent;', '#efefef;'], $i = 0;
    $selectColor = ($i++/2 % 2 == 0) ? 0 : 1;
    return $colors[$selectColor];
}

增加一个计数器($i),除以2,然后检查它是偶数还是奇数。