/** * @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; } }