Конвертер массива в битовое поле и преобразование битового поля в массив

Преобразование битового поля в массив

function Bit2Array($val){
    $ar=[];
    $nb=0;
    while($val){
        if($val&1) $ar[$nb]=1;
        $val/=2;
        $nb++;
    }
    return $ar;
}

Конвертер массива в битовое поле

function Arry2Bit($val){
    $resultValue=0;
    if($val)foreach($val as $nb=>$nv) if(!empty($nv)){
        $resultValue|=1<<$nb;
    }
    return $resultValue;
}

Так может выглядеть html код с выбором:

<input type="checkbox" name="variable[]" value="1">
<input type="checkbox" name="variable[]" value="2">
<input type="checkbox" name="variable[]" value="3">
<input type="checkbox" name="variable[]" value="4">

.