<html> <head> <!--set title--> <title> </title> </head> <!--show page--> <body> <?php //可变参数 function TestArg() { $arrArg = func_get_args(); //获取所有参数并保存到数组中 $nArg = func_num_args(); //获取参数的个数 print_r($arrArg); echo "<br>/n"; //print for myself for ($i = 0; $i < $nArg; $i++) { $strVal = func_get_arg($i); //获取第$i个参数 echo "argv[$i] = $strVal <br>/n"; } } TestArg("andylin", "lihong", "congfeng"); ?> <!--可变函数--> <?php function fun1() { echo "fun1() <br>/n"; } function fun2($nVal) { echo "fun2() nVal = $nVal <br>/n"; } //使用 echo 的包装函数 function printval($str) { echo $str; } $func = "fun1"; $func(); $func = 'fun2'; $func(1); $func = 'printval'; $func("hello, andylin<br>/n"); ?> <!--又一可变函数类中的实现--> <?php class CArgFunc { function fun1() { echo "fun1() <br>/n"; } function fun2($nVal) { echo "fun2() nVal = $nVal <br>/n"; } //使用 echo 的包装函数 function printval($str) { echo $str; } } $objArg = new CArgFunc(); $func = "fun1"; $objArg->$func(); $func = "fun2"; $objArg->$func(2); $func = "printval"; $objArg->$func("hello, lihong! <br>/n"); ?> <!--匿名函数--> <?php $func = create_function('$a, $b', 'return(strlen($a) - strlen($b));'); $arr = array('andylin', 'lihong', 'congfeng'); echo "func = $func <br>/n"; usort($arr, $func); print_r($arr); ?> </body> </html>