php字符串压缩工具
判断字符串是否需要压缩,然后再进行压缩,需要优化的地方很多,比如把压缩结果保存起来,避免执行2次,判断是依赖于压缩的结果大小和原始字符串的大小来判断的,懒得处理了。代码如下
/**
* 字符串压缩工具
*/
class CompressStrUtil
{
/**
* 是否需要压缩
* @param $str
* @return bool
*/
public static function need($str): bool
{
$oldLen = strlen($str);
$newLen = strlen(self::enCompress($str));
return $newLen < $oldLen;
}
/**
* 压缩字符串
* @param $str
* @return false|string
*/
public static function enCompress($str)
{
return gzcompress($str, 9);
}
/**
* 还原字符串
* @param $str
* @return false|string
*/
public static function deCompress($str)
{
return gzuncompress($str);
}
}