php学习2(十进制-->二进制-->复选框)

 /*    
参数说明:$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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值