/*
参数说明:$DecValue指十进制值,$Type进制默认为二进制
返回值:1,0;
*/
function DecToBitArray($DecValue,$Type=2){
//$FinValue=array(-1 => 0); //最终的返回数组-1为定义起始点
$QuotientValue=$DecValue;//商
$ResidueValue=0; //余数
do {
$ResidueValue=$QuotientValue % $Type; //模即为余数
$FinValue[]=$ResidueValue; //存入数组
$QuotientValue=floor($QuotientValue/$Type);//取整
}while ($QuotientValue>0);
return $FinValue;
}
/*
参数说明:$BitArrary位数组(1,0组成)
返回值: 位数组转化为属性数组
*/
function BitArrayToAttributeArray($BitArrary){
//$FinAttributeArray=array(-1 => ""); //最终的返回数组-1为定义起始点
foreach ($BitArrary as $Bit) {
$FinAttributeArray[]=CheckBoxAttribute($Bit);
}
return $FinAttributeArray;
}
//从复选框到数据库
/*
从$CheckBoxArray中取得,指定的数组;
function GetNeedArray($CheckBoxArray,$BlockNum,$Index){
$TotalNum=count($CheckBoxArray);
$BlockSize=floor($TotalNum/$BlockNum); //暂时只处理能整除的.
for($InFor=0;$InFor<$BlockSize;$InFor++)
{
$FinBitArray[]=$CheckBoxArray[$Index*$BlockSize+$InFor];
}
return $FinBitArray;
}
*/
/*
参数说明:$SystemDefArrry系统定义的,$CheckBoxArray复选框的数组
$Type类型(块大小) 1:为主菜单,//暂时不用13为子菜单;
返回值: 复选框转化位数组
*/
function CheckBoxToBitArray($SystemDefArrry,$CheckBoxArray){
foreach ($SystemDefArrry as $SystemDef) {
$FinBitArray[]= IsCheckValue($SystemDef,$CheckBoxArray);
}
return $FinBitArray;
}
/*
参数说明:$SystemDefArrry系统定义的,$CheckBoxArray复选框的数组
$Type类型(块大小) 1:为主菜单,//暂时不用13为子菜单;
返回值: 复选框转化位数组
*/
function CheckBoxToBitArrayEx($DefindSize,$CheckBoxArray){
for($IntFor=0;$IntFor<=$DefindSize;$IntFor++)
{
$FinBitArray[]= IsCheckValue($IntFor,$CheckBoxArray);
}
return $FinBitArray;
}
/*
参数说明:$BitArray位数组
返回值: 位数组转化为十进制
*/
function BitArrayToDec($BitArray){
$FinDec=0; //最终的返回数值
for($ForInt=0;$ForInt< count($BitArray);$ForInt++)
{
$FinDec=$FinDec+pow(2,$ForInt)*($BitArray[$ForInt]);
}
return $FinDec;
}