/**
  * @access public
  * @static
  * @param int|float|array $var
  * @return string
  */
 public static function encode($var)
 {
     if (is_int($var)) {
         return 'i' . $var . 'e';
     } elseif (is_float($var)) {
         return 'i' . sprintf('%.0f', $var) . 'e';
     } elseif (is_array($var)) {
         if (count($var) == 0) {
             return 'de';
         } else {
             $assoc = false;
             foreach ($var as $key => $val) {
                 if (!is_int($key) && !is_float($var)) {
                     $assoc = true;
                     break;
                 }
             }
             if ($assoc) {
                 ksort($var, SORT_REGULAR);
                 $ret = 'd';
                 foreach ($var as $key => $val) {
                     $ret .= Lms_BTransform::encode($key) . Lms_BTransform::encode($val);
                 }
                 return $ret . 'e';
             } else {
                 $ret = 'l';
                 foreach ($var as $val) {
                     $ret .= Lms_BTransform::encode($val);
                 }
                 return $ret . 'e';
             }
         }
     } else {
         return strlen($var) . ':' . $var;
     }
 }