這樣是不是會好一點
感覺老師的有些代碼看起來比較高大上,但是可能會造成基礎差一點的童鞋不能愉快的理解,比如這一段
function?dirSize($path){
????$sum?=?0;
????global?$sum;
????$handle?=?opendir($path);
????while(($item?=?readdir($handle))?!==?false){
????????if($item?!=?'.'?&&?$item?!=?'..'){
????????????if(is_file($path.'/'.$item)){
????????????????$sum?+=?filesize($path.'/'.$item);
????????????}
????????????if(is_dir($path.'/'.$item)){
????????????????$func?=?__FUNCTION__;
????????????????$func($path.'/'.$item);
????????????????//$sum?+=?dirSize($path.'/'.$item);
????????????}
????????}
????}
????closedir($handle);
????return?$sum;
}老師這里用
$func?=?__FUNCTION__; $func($path.'/'.$item);
和一個全局變量來實現遞歸,但是不是很好理解呀,如果這樣寫
function?dirSize($path){
????$sum?=?0;
????//global?$sum;
????$handle?=?opendir($path);
????while(($item?=?readdir($handle))?!==?false){
????????if($item?!=?'.'?&&?$item?!=?'..'){
????????????if(is_file($path.'/'.$item)){
????????????????$sum?+=?filesize($path.'/'.$item);
????????????}
????????????if(is_dir($path.'/'.$item)){
????????????????/*$func?=?__FUNCTION__;
????????????????$func($path.'/'.$item);*/
????????????????$sum?+=?dirSize($path.'/'.$item);
????????????}
????????}
????}
????closedir($handle);
????return?$sum;
}不需要全局,也易于理解了..
不過上面的寫法看起來逼格比較高,哈哈
2016-07-14
寫慣了C,我也是一開始就想到這種方法。
2016-04-13
你的確實利于理解。