tableau des status des utilisateur Active Directory avec décompte hexadecimal

$grp       = array('0'=> array('nb'=>'67108864', 'msg' => 'Ad en lecture seul', 'state' => 'warning'),
                    '1'=>array('nb'=>'16777216','msg'=>'','state'=>'default'),
                    '2'=>array('nb'=>'8388608', 'msg'=>'mot de passe expiré','state'=>'warning'),
                    '3'=>array('nb'=>'4194304','msg'=>'n\'exige de préauthentification Kerberos','default'),
                    '4'=>array('nb'=>'2097152','msg'=>'utilise des clés DES uniquement','state'=>'default'),
                    '5'=>array('nb'=>'1048576','msg'=>'pas de delegation','state'=>'default'),
                    '6'=>array('nb'=>'524288','msg'=>'authorisé pour délégation','state'=>'default'),
                    '7'=>array('nb'=>'262144','msg'=>'Smart Card requise a l\'authentification','state'=>'default'),
                    '8'=>array('nb'=>'131072','msg'=>'Majority Node Set','state'=>'default'),
                    '9'=>array('nb'=>'65536','msg'=>'Le mot de passe n\'expire pas','state'=>'warning'),
                    '10'=>array('nb'=>'8192','msg'=>'','state'=>'default'),
                    '11'=>array('nb'=>'4096','msg'=>'','state'=>'default'),
                    '12'=>array('nb'=>'2048','msg'=>'aprobation de compte pour une delgation de domaine','state'=>'default'),
                    '13'=>array('nb'=>'512','msg'=>'compte normal','state'=>'success'),
                    '14'=>array('nb'=>'256','msg'=>'compte principal dans un autre domaine','state'=>'default'),
                    '15'=>array('nb'=>'128','msg'=>'peut envoyer un mot de passe chiffré','state'=>'default'),
                    '16'=>array('nb'=>'64','msg'=>' ne peut changer de mot de passe','state'=>'warning'),
                    '17'=>array('nb'=>'32','msg'=>'aucun mot de passe requis','state'=>'danger'),
                    '18'=>array('nb'=>'16','msg'=>'Compte bloqué','state'=>'warning'),
                    '19'=>array('nb'=>'8','msg'=>'repertoire personnel requis','state'=>'default'),
                    '20'=>array('nb'=>'2','msg'=>'compte desactivé','state'=>'danger'),
                    '21'=>array('nb'=>'1','msg'=>'script d\'ouverture de session','state'=>'default'));
                    
                    
                      $accountValue = intval($user[$i]['useraccountcontrol']);
  $badge        = '';
  $cache        = dechex($accountValue);
  for($k=0;$k < count($grp);$k++){
    if(($cache-dechex($grp[$k]['nb'])) >= dechex(0) ){
      $cache = $cache-dechex($grp[$k]['nb']);
      $badge .= '<span class="label label-'.$grp[$k]['state'].'">'.$grp[$k]['msg'].'</span><br><br>';
    }
  }