台农一号
2016-10-22 13:42
function getsize($size, $format = 'kb'){
$p = 0;
if($format == 'kb'){
$p = 1;
}elseif($format = 'mb'){
$p = 2;
}elseif($format = 'gb'){
$p = 3;
}
$size /= pow(1024, $p);
return number_format($size,3); } 函数中的 number_format(); 怎么理解?
这个函数的参数可以是1个,2个或者4个(注意没有3个的情况):
number_format($number, [, int $decimals = 0 ]);第一个参数是你要格式化的数字,第二个参数是可选参数,是表示保留的小数点个数,如果不写第二个参数,这默认保留0位小数,也就是没有小数位的意思。
number_format($number, $decimals = 0 , $dec_point = "." , $thousands_dec = ",");这是4个参数的情况,
第一,第二个参数同上,第三个参数表示小数点显示的字符,第四个就是千位分隔符。下面结合例子去理解:
<?php
$number = 1234.56;
// english notation (default)
$english_format_number = number_format($number);
// 1,235
// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
?>
想了解更多上php官网:http://php.net/manual/zh/function.number-format.php
没有网也可以下载与你php对应版本的php手册
<?php
$filename = '/data/webroot/usercode/resource/test.txt';
//取得文件的大小并输出
function getsize($size, $format='kb'){ //getsize()函数,初始化format='kb',也可以为其他也可以为空format='';
$p = 0;
if($format == 'kb'){
$p = 1;
}elseif($format == 'mb'){
$p = 2;
}elseif($format == 'gb'){
$p = 3;
}
$size /= pow(1024, $p); //pow(x,y) 表示x的y次方;
return number_format($size,3); // number_format() 以千位分隔符方式格式化一个数字;后面的3代表保留三位小数点;
}
$size = filesize($filename);
echo $size.'字节<br/>'; //源文件字节数;
$size = getsize($size,'kb'); //源文件单位由字节转换为kb;
echo $size.'kb<br/>';
$size = getsize($size,'mb'); //源文件单位由字节转换为mb; 不显示字节的原因是因为number_format()只保留了小数点3位;如果要显示出来,改变getsize()函数里number_format()的参数为更大比如9
echo $size.'mb<br/>';
$size = getsize($size,'gb'); //源文件单位由字节转换为gb; 不显示字节的原因是因为number_format()只保留了小数点3位;
echo $size.'gb<br/>';
帮我分析一下这个程序,谢谢
比如1,000
number_format — 以千位分隔符方式格式化一个数字 这句话又是什么意思?
(PHP 4, PHP 5, PHP 7)
number_format — 以千位分隔符方式格式化一个数字
PHP进阶篇
181835 学习 · 2577 问题
相似问题