首页 > php开发 > 用户权限管理代码

用户权限管理代码

<?php
define('PATTERN_MODE_INT', 1);
define('PATTERN_MODE_STRING', 2);
function bitToArray($data, $ruleArr, $mode = PATTERN_MODE_INT) {
    $varData = array();
    if ($mode == PATTERN_MODE_INT) {
        $usedBit = 0;
        for ($i = 0; $i < Count($ruleArr); $i++) {
            if ($ruleArr[$i] <= 0) continue;
            $turnData = pow(2, $ruleArr[$i]) - 1 << $usedBit & $data;
            $varData[$i] = $turnData >> $usedBit;
            $usedBit+= $ruleArr[$i];
        }
    } else {
        for ($i = 0, $cnt = Count($ruleArr); $i < $cnt; $i++) {
            $varData[$i] = substr($data, $i, $ruleArr[$i]);
        }
    }
    return $varData;
}
function arrayToBit($data, $ruleArr, $mode = PATTERN_MODE_INT) {
    $rslt = '';
    if ($mode == PATTERN_MODE_INT) {
        $usedBit = 0;
        $rslt = 0;
        for ($i = 0; $i < Count($ruleArr); $i++) {
            if ($ruleArr[$i] <= 0) continue;
            if (!$data[$i]) $data[$i] = 0;
            $rslt|= $data[$i] << $usedBit;
            $usedBit+= $ruleArr[$i];
        }
    } else {
        for ($i = 0, $cnt = Count($ruleArr); $i < $cnt; $i++) {
            $rslt.= sprintf('%0' . $ruleArr[$i] . 's', $data[$i]);
        }
    }
    return $rslt;
}


永久地址:http://www.phprm.com/develop/554991eb3769ed5db8e05acd2d580cee.html

转载随意~请带上教程地址吧^^

标签:none

发表留言