程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved