PHP ??? ?? ??? ?? ??
?? ??
?? ??? ?? ??, ?? ??? ?? ???? ?? ???? ??? ?? ??? ??? ? ????.
?? ??? ??? ??? ? ??? ? ??? ??? ? ??? ?? ?? ????. ? ??? ??? ? ??? ???? ??? ???? ??? ?? ????.
<?php function woziji($one, $two, $func) { //規(guī)定:檢查$func是否是函數(shù),如果不是函數(shù)停止執(zhí)行本段代碼,返回false if(!is_callable($func)) { return false; } //把$one、$two相加,再把$one和$two傳入$func這個函數(shù)中處理一次 //$func是一個變量函數(shù),參見變量函數(shù) echo $one + $two + $func($one,$two); } //我們定義幾個函數(shù)試試 function plusx2($foo ,$bar) { $result = ($foo+$bar)*2; return $result; } function jian($x, $y) { $result = $x - $y; return $result; } //調(diào)用一下函數(shù),woziji,向里面?zhèn)魅雲(yún)?shù)試試 echo woziji(20,10,'plusx2'); // 輸出結(jié)果為 90 //將plusx2改成jian試試結(jié)果 echo woziji(20,10,'jian'); //輸出結(jié)果為 40 ?>
?? ??? ??? ????.
?? ???? $one? 20? ???? $func? 10? $two? ???? ? ?? ?? plusx2 ?? jian? ?????.
woziji ???? plusx2 ?? jian? ???? ????, ??? ??? false? ???? ??? ?????
Display plusx2 ?? jian? ?????. ??? $one = 20, $two =10? ???? $1? $two? $func($one,$two)? ?????.
? ??? ???? $func? ???? plusx2 ?? jian? ? ????. plusx2? ?? $one = 20, $two = 10? ? ??? plusx2 ??
$foo + $bar? 2? ?? ?? $foo ? $bar? ?????. ??? woziji ?? ??? ?? ??? ?????: $one + $two + $func($one,$two);
?? ???? ??? ?? ??? ??? ????. ??
?? ?? ??? ??????. ???? ?? ??? ???? ?? ??? () ??? ?????. ????? ???? ?? ??? ???.
????
????, ??????? ??????
???? ???? ????? :
<?php function demo() { echo '天王蓋地虎'; } function test() { echo '小雞燉蘑菇'; } $fu = 'demo'; //把$fu變?yōu)榱薲emo,把demo后加上了一個括號,就執(zhí)行函數(shù)了 $fu(); // 輸出為 天王蓋地虎 //把$fu的值改為test字符串再試試? ?>
?
????
?? ???? ?? ??? ????. ?? ??? ?? ??? ???? ??? ???? ??? ???? ?? ?? ???? ??? ?? ????? ?? ??? ?????.
?? ???? ??? ???? ????? ?????. ??? ?????.
?? ??? ? ?? ???? ??? ?? ??? ???? ???, ??? ???? ?? ?? ?????.
?? ??? ?? ??
<?php $greet = function($name) { echo $name.',你好'; }; $greet('明天'); //輸出 明天,你好 $greet('PHP'); // 輸出 PHP,你好 ?>
?? ?? ??
<?php function woziji($one,$two,$func) { //規(guī)定:檢查$func是否是函數(shù),如果不是函數(shù)停止執(zhí)行本段代碼,返回false if(!is_callable($func)) { return false; } //把$one、$two相加,再把$one和$two傳入$func這個函數(shù)中處理一次 //$func是一個變量函數(shù),參見變量函數(shù) echo $one + $two + $func($one,$two); //結(jié)果為: 150 } woziji(20,30,function($foo,$bar) { $result = ($foo+$bar)*2; return $result; } ); ?>
?? ??:
????? ?? ??? ??? ???? ??? ????.
??:
?? ?? ??? ?? ?? ??? ? ????
?? a? ?? ??? ???? ??? ???? ?? a? ? ? ??? ? ????. <… .
?? ?? ???? ??? ? ??? ?? ??? ????.
1. foo()? ? ? ???? ??? ?????.2. bar? foo ??? ???? foo() ??? ???? ??? bar ??? ??? ? ????.