>php教程 >php手册 >用户权限管理代码

用户权限管理代码

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-05-22 18:36:151370검색

<?php
define(&#39;PATTERN_MODE_INT&#39;, 1);
define(&#39;PATTERN_MODE_STRING&#39;, 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 = &#39;&#39;;
    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(&#39;%0&#39; . $ruleArr[$i] . &#39;s&#39;, $data[$i]);
        }
    }
    return $rslt;
}


永久地址:

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.