call_user_func
(PHP 4, PHP 5)
--- Call a user function given by the first parameter
--- 通过第一个参数,来调用用户自己的函数
函数用法
mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )
函数说明
通过第一个参数(可以是一个数组)为什么可以是数组请参照下面的引用。
来调用一个用户自己定义的FUNC。
http://blog.zenme.org/?action=show&id=11 写道
有些诸如 call_user_function() 或 usort() 的函数接受用户自定义的函数作为一个参数。Callback 函数不仅可以是一个简单的函数,它还可以是一个对象的方法,包括静态类的方法。
一个 PHP 函数用函数名字符串来传递。可以传递任何内置的或者用户自定义的函数,除了 array(),echo(),empty(),eval(),exit(),isset(),list(),print() 和 unset()。
一个对象的方法以数组的形式来传递,数组的下标 0 指明对象名,下标 1 指明方法名。
对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可
这回知道为什么第一个参数可以是数组了吧?因为数组的第一个元素可以定位到是哪个对象的函数。
例如我有两个类都继承同一个类。这两个类里面都有同名函数。那么我调用的是哪一个呢?指定一个对象就可以了。
向下面这样:
<?php
$result = call_user_func(array(FunFac::crtFunCls($type),'AddNumber'),1,2);
//这里我通过FunFac::crtFunCls($type)来获得一个类名。因为这里是用的工厂类
//调用的方法名是AddNumber
//所传参数是,1,2
?>
明白了吗?就是这样,Let's Go!!!
分享到:
相关推荐
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: 复制代码 代码如下: function a($b,$c) { echo $b; echo $c; } call_user_func(‘a’, “111”,”222″); call_user_func(‘a’, “333”,”444...
本文实例讲述了PHP call_user_func和call_user_func_array函数的简单理解与应用。分享给大家供大家参考,具体如下: call_user_func():调用一个回调函数处理字符串, 可以用匿名函数,可以用有名函数,可以传递类的...
call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数(callback)调用,把参数数组作...
call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:第一种是调用孤独的函数:复制代码 代码如下:<?phpfunction funa($b,$c){ echo $b; echo $c;}call_user_func(‘funa’, “111”,”...
本文实例讲述了php中call_user_func函数使用注意事项。分享给大家供大家参考。具体分析如下: call_user_func函数的注意事项:parse error: syntax error, unexpected t_list, expecting t_string in,今天在使用这个...
UCenter源代码里有一个函数call_user_func,开始以为是自己定义的函数,结果到处都找不到。后来才知道call_user_func是PHP的内置函数,该函数允许用户调用直接写的函数并传入一定的参数,下面总结下这个函数的使用...
call_user_func_array (PHP 4 >= 4.0.4, PHP 5) call_user_func_array — Call a user function given with an array of parameters Description mixed call_user_func_array ( callback function, array param_arr ...
问题的提出 网友bercmisir在院内留言,针对php手册中的call_user_func函数的文档一事,大致如下: http://php.net/manual/en/function.call-user-func.php 其中parameter下有这样一句话: Note: Note that the ...
php中提供了两个内置的回调函数call_user_func()、call_user_func_array()。 这两个函数的区别是: call_user_func_array(callable $callback,array $param_arr)是以数组的形式接受回调函数和参数的。 call_user_...
call_user_func_array — 让参数以数组的形式调用一个函数 call_user_func — 调用一个存在的函数 create_function — 建立一个函数 func_get_arg — 获取函数中某个参数的值 func_get_args — 获取函数的所有参数并...
在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换)。 详情介绍参考博文:PHP函数preg_replace() ...
call_user_method_array() //使用 call_user_func_array() 替代 define_syslog_variables() dl() ereg() //使用 preg_match() 替代 ereg_replace() //使用 preg_replace() 替代 eregi() //使用 preg_
PHP 函数执行超时控制扩展 (For PHP7 ) 控制PHP函数的执行时间,超时终止执行,支持毫秒级配置,在call_user_func()基础上加了超时控制机制。