PHP 使用do{}while()进行byte单位转换

2021-11-04 11:07:44 浏览数 (2)

函数源码:

代码语言:php复制
/** byte字节单位转换函数
 * @param int $byte
 * @return string
 */
function byte(int $byte){
    $suffixes=["YB","ZB","EB","PB","TB","GB","MB","KB"];
    do{
        $byte=round($byte/1024,2);
        $suffix=array_pop($suffixes);
    }while($byte>=1024&&!empty($suffixes));//$suffixes 为空则单位用尽,不再计算
    return $byte . $suffix;
}

使用示例:

代码语言:php复制
$byte=1024*1024*13;
$res=byte($byte);
var_dump($res);

示例结果:

代码语言:php复制
string(5) "13MB"

0 人点赞