简介:PHP中处理函数的函数(Function Handling Functions),下面本人只对几个比较常用的函数做详细说明。
call_user_func — 调用一个存在的函数
call_user_func_array — 调用一个函数并以数组形式的传参
//以上两个函数比较相似,只是传入参数的方式不同而已。
function phpha_com($a, $b){
echo $a + $b;
}
call_user_func('phpha_com', 1, 2); // 3
call_user_func_array('phpha_com', array(1, 2)); // 3
//另外如果调用类中的方法,则以数组形式:
//天涯PHP博客 http://blog.phpha.com
class phpha{
public function phpha_com($a, $b){
echo $a + $b;
}
}
call_user_func(array('phpha', 'phpha_com'), 1, 2); // 3
call_user_func_array(array('phpha', 'phpha_com'), array(1, 2)); // 3
create_function — 创建一个匿名函数
func_get_arg — 获取函数中某个参数的值
func_get_args — 获取函数的所有参数并组成数组
func_num_args — 获取一个函数的参数个数
function_exists — 判定一个函数是否存在
// phpha_func.php
function phpha($a, $b){
echo $a + $b;
}
?>
// test.php
if( ! function_exists('phpha')){
include 'phpha_func.php';
}
phpha(1, 2); // 3
?>
get_defined_functions — 可以获取所有的PHP函数和自定义的函数
var_dump(get_defined_functions());
?>
register_shutdown_function — 注册一个页面载入完成后运行的函数
register_shutdown_function 执行机制是:PHP把要调用的函数调入内存。当页面所有PHP语句都执行完成时,再调用此 函数。注意,在这个时候从内存中调用,不是从PHP页面中调用,所以上面的例子不能使用相对路径,因为PHP已经当原来的页面不存在了。就没有什么相对路径可言。
注意:register_shutdown_function 是指在执行完所有PHP语句后再调用函数,不要理解成客户端关闭流浏览器页面时调用函数。
天涯PHP博客 http://blog.phpha.com
可以这样理解调用条件:
1、当页面被用户强制停止时
2、当程序代码运行超时时
3、当PHP代码执行完成时
【天涯注】可以用来做PHP计划任务,当然更好的方法是交给linux服务器来处理,不过因使用虚拟主机而没有服务器权限的用户可以尝试。
register_tick_function — 注册一个按要求调用的函数
unregister_tick_function — 取消一个按要求调用的函数
以上就是摘自PHP手册[4] – Function Handling Functions的内容,更多相关内容请关注PHP中文网(www.php.cn)!