Что делает этот код?
Я не могу понять цикл в основном!
в основном не могу понять
function getNiceFileSize($file, $digits = 2)
{
if(is_file($file)){
$filePath = $file;
if(!realpath($filePath)){
$filePath = $_SERVER["DOCUMENT_ROOT"] . $filePath;
}
$fileSize = filesize($filePath);
$sizes = array("TB", "GB", "MB", "KB", "B");
$total = count($sizes);
while ($total-- && $fileSize > 1024){
$fileSize /= 1024;
}
return round($fileSize, $digits). " " . $sizes[$total];
}
return false;
}
$total--
такой же как $total -= 1
, который так же, как $total = $total -1
, Это известно как оператор декремента. Вы, вероятно, знакомы с оператором приращения, когда смотрите на for
петли, такие как for ($i = 0, $i++, $i < 10)
,
Цикл может быть переписан как while ($total = $total -1 && $fileSize > 1024)
, что означает «в то время как $ total все еще является истинным значением (в данном случае число> 0), а $ fileSize>> 1024».
Других решений пока нет …