這樣是不是會好一點
感覺老師的有些代碼看起來比較高大上,但是可能會造成基礎(chǔ)差一點的童鞋不能愉快的理解,比如這一段
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);
和一個全局變量來實現(xiàn)遞歸,但是不是很好理解呀,如果這樣寫
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
你的確實利于理解。