php通过字符串调用函数示例


Posted in PHP onMarch 02, 2014

1. call_user_func

function a($b,$c){
  echo $b;
  echo $c;
}
call_user_func('a', "111","222");
call_user_func('a', "333","444");//显示 111 222 333 444
?>
 

调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:

class a {
  function b($c){
    echo $c;
  }
}
call_user_func(array("a", "b"),"111");//显示 111
?>

2. call_user_func_array

call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰:

function a($b, $c){
  echo $b;
  echo $c;
}
call_user_func_array('a', array("111", "222"));//显示 111 222
?>

call_user_func_array函数也可以调用类内部的方法的
 

Class ClassA{
  function bc($b, $c) {
      $bc = $b + $c;
    echo $bc;
  }
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));//显示 333
?>

call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:

function a(&$b){
  $b++;
}
$c = 0;
call_user_func('a', &$c);
echo $c;//显示 1
call_user_func_array('a', array(&$c));
echo $c;//显示 2
PHP 相关文章推荐
文件系统基本操作类
Nov 23 PHP
php中simplexml_load_string使用实例分享
Feb 13 PHP
Chrome Web App开发小结
Sep 04 PHP
Symfony2在Nginx下的配置方法图文教程
Feb 04 PHP
详解php中反射的应用
Mar 15 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
php微信公众号开发模式详解
Nov 28 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 PHP
PHP使用phpunit进行单元测试示例
Sep 23 PHP
php多维数组去掉重复值示例分享
Mar 02 #PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 #PHP
PHP 字符串长度判断效率更高的方法
Mar 02 #PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 #PHP
PHP代码优化之成员变量获取速度对比
Feb 28 #PHP
php递归方法实现无限分类实例代码
Feb 28 #PHP
PHP中常用的转义函数
Feb 28 #PHP
You might like
Admin generator, filters and I18n
2011/10/06 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
php实现的农历算法实例
2015/08/11 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
用js实现放大镜效果
2020/10/28 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
Python获取网段内ping通IP的方法
2019/01/31 Python
Python对象转换为json的方法步骤
2019/04/25 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
Python flask框架端口失效解决方案
2020/06/04 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
MADE法国:提供原创设计师家具
2018/09/18 全球购物
安全责任书范本
2014/04/15 职场文书
小学安全工作总结2015
2015/05/18 职场文书
工作证明格式范文
2015/06/15 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书
基于python实现银行管理系统
2021/04/20 Python
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技