这段代码有什么作用? 我主要不能理解while循环! 主要是不能理解$ total--
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;
}
答案 0 :(得分:0)
$total--
与$total -= 1
相同,与$total = $total -1
相同。这被称为decrement operator。在查看for
循环时,您可能熟悉增量运算符,例如for ($i = 0, $i++, $i < 10)
。
循环可以重写为while ($total = $total -1 && $fileSize > 1024)
,这意味着&#34;而$ total仍然是真值(在这种情况下,数字> 0),$ fileSize是&gt; 1024&#34;