<?php //$fun = function($params){ // echo $params; //}; // //$fun('aa');//例一 //在普通函數中定義一個匿名函數 //function printStr(){ // $fun = function($something){ // echo $something; // }; // $fun('something'); // //} //printStr();//例子二 //在普通函數中定義一個匿名函數,并將其返回 //function printStr(){ // $fun = function($something){ // echo $something; // }; // return $fun; //} //$printString = printStr(); //$printString('aaaaddd');//例子三 //把匿名函數當做參數傳遞 //function printStr($fun,$a){ // $fun($a); //} // //$fun = function($str){ // echo $str; //}; //printStr($fun,'ddsdddd');//閉包需要使用use才可以引用上下文的變量 //function getMoney(){ // $a = 1; // $b = 2; // $fun = function() use ($a,$b) { // echo $a; // echo $b; // }; // $fun(); //} // //getMoney();//閉包不能改變上下文的變量,除非使用&符號,下例輸出11 //function getMoney(){ // $a = 1; // $fun = function() use ($a){ // echo $a; // $a++; // }; // $fun(); // echo $a; //} //getMoney();//帶&符號的可以改變,下例輸出12 //function getMoney(){ // $a = 1; // $fun = function() use (&$a){ // echo $a; // $a++; // }; // $fun(); // echo $a; //} //getMoney();//function getMoney(){ // $a = 1; // $fun = function() use (&$a) { // echo $a; // $a++; // }; // return $fun; //} // //$getMoney = getMoney(); //$getMoney(); //$getMoney(); //$getMoney();
//函數嵌套 function funca(){function funcb(){echo 'aa';}funcb(); } funca(); funcb();
?