如何组合两个返回相同值的函数


How can i combine two function which returns same value

function doc_links_fileSize($filesize){
if ($filesize < 1024) return $bytes.'B';
elseif ($filesize < 1048576) return round($filesize / 1024, 2).'KB';
elseif ($filesize < 1073741824) return round($filesize / 1048576, 2).'MB';
elseif ($filesize < 1099511627776) return round($filesize / 1073741824, 2).'GB';
else return round($bytes / 1099511627776, 2).'TB';
}

function images_links_fileSize($filesize){
if ($filesize < 1024) return $bytes.'B';
elseif ($filesize < 1048576) return round($filesize / 1024, 2).'KB';
elseif ($filesize < 1073741824) return round($filesize / 1048576, 2).'MB';
elseif ($filesize < 1099511627776) return round($filesize / 1073741824, 2).'GB';
else return round($bytes / 1099511627776, 2).'TB';
}

如何组合两个返回相同值的函数。我想通过组合两个函数来减少代码,因为两个函数返回相同的值

只需使用单个函数并为其指定一个更通用的名称(这将涵盖所有文档,图像等)

function getFileSize($filesize){
    if ($filesize < 1024) return $bytes.'B';
    elseif ($filesize < 1048576) return round($filesize / 1024, 2).'KB';
    elseif ($filesize < 1073741824) return round($filesize / 1048576, 2).'MB';
    elseif ($filesize < 1099511627776) return round($filesize / 1073741824, 2).'GB';
    else return round($bytes / 1099511627776, 2).'TB';
}

一个函数可以调用另一个函数。喜欢这个

<?php
    function doc_links_fileSize($filesize){
        if ($filesize < 1024) return $bytes.'B';
        elseif ($filesize < 1048576) return round($filesize / 1024, 2).'KB';
        elseif ($filesize < 1073741824) return round($filesize / 1048576, 2).'MB';
        elseif ($filesize < 1099511627776) return round($filesize / 1073741824, 2).'GB';
        else return round($bytes / 1099511627776, 2).'TB';
    }
    function images_links_fileSize($filesize){
        return doc_links_fileSize($filesize);
    }
?>

但最好的方法就像@RomanPerekhrest说的那样。