`
opensuse
  • 浏览: 183005 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

每天学习PHP函数之call_user_func

    博客分类:
  • php
阅读更多

  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!!!

3
0
分享到:
评论

相关推荐

    php自定义函数call_user_func和call_user_func_array详解

    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函数的简单理解与应用分析

    本文实例讲述了PHP call_user_func和call_user_func_array函数的简单理解与应用。分享给大家供大家参考,具体如下: call_user_func():调用一个回调函数处理字符串, 可以用匿名函数,可以用有名函数,可以传递类的...

    PHP中call_user_func_array回调函数的用法示例

    call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数(callback)调用,把参数数组作...

    PHP 函数call_user_func和call_user_func_array用法详解

    call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:第一种是调用孤独的函数:复制代码 代码如下:&lt;?phpfunction funa($b,$c){ echo $b; echo $c;}call_user_func(‘funa’, “111”,”...

    php中call_user_func函数使用注意事项

    本文实例讲述了php中call_user_func函数使用注意事项。分享给大家供大家参考。具体分析如下: call_user_func函数的注意事项:parse error: syntax error, unexpected t_list, expecting t_string in,今天在使用这个...

    浅析PHP中call user func()函数及如何使用call user func调用自定义函数

    UCenter源代码里有一个函数call_user_func,开始以为是自己定义的函数,结果到处都找不到。后来才知道call_user_func是PHP的内置函数,该函数允许用户调用直接写的函数并传入一定的参数,下面总结下这个函数的使用...

    PHP中call_user_func_array()函数的用法演示

    call_user_func_array (PHP 4 &gt;= 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 ...

    由php的call_user_func传reference引发的思考

    问题的提出 网友bercmisir在院内留言,针对php手册中的call_user_func函数的文档一事,大致如下: http://php.net/manual/en/function.call-user-func.php 其中parameter下有这样一句话: Note: Note that the ...

    PHP回调函数简单用法示例

    php中提供了两个内置的回调函数call_user_func()、call_user_func_array()。 这两个函数的区别是: call_user_func_array(callable $callback,array $param_arr)是以数组的形式接受回调函数和参数的。 call_user_...

    PHP中功能强大却很少使用的函数实例小结

    call_user_func_array — 让参数以数组的形式调用一个函数 call_user_func — 调用一个存在的函数 create_function — 建立一个函数 func_get_arg — 获取函数中某个参数的值 func_get_args — 获取函数的所有参数并...

    PHP正则替换函数preg_replace和preg_replace_callback使用总结

    在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换)。 详情介绍参考博文:PHP函数preg_replace() ...

    PHP5.3与5.5废弃与过期函数整理汇总

    call_user_method_array() //使用 call_user_func_array() 替代 define_syslog_variables() dl() ereg() //使用 preg_match() 替代 ereg_replace() //使用 preg_replace() 替代 eregi() //使用 preg_

    PHP函数执行超时控制扩展ForPHP7控制PHP函数的执行时间

    PHP 函数执行超时控制扩展 (For PHP7 ) 控制PHP函数的执行时间,超时终止执行,支持毫秒级配置,在call_user_func()基础上加了超时控制机制。

Global site tag (gtag.js) - Google Analytics