//php閉包實現函數的自調用,也就是實現遞歸 function closure($n,$counter,$max){ //匿名函數,這里函數的參數加&符號是,引址調用參數自己 $fn = function (&$n,&$counter,&$max=1) use(&$fn){//use參數傳遞的是函數閉包函數自身 $n++; if($n < $max){//遞歸點,也就是遞歸的條件 $counter .=$n.'<br />'; //遞歸調用自己 $fn($n,$counter,$max); } return $counter; };//記得這里必須加``;``分號,不加分號php會報錯,閉包函數 /* *這里函數closure的返回值就是調用閉包的匿名函數 *而閉包函數,引用closure函數傳進來的參數 */ return $fn($n,$counter,$max); } echo (closure(0,'',10));
