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 相关文章推荐
php 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
thinkPHP模型初始化实例分析
Dec 03 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 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
浅析php数据类型转换
2014/01/09 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
vue的for循环使用方法
2019/02/12 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
javascript操作向表格中动态加载数据
2020/08/27 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
Python基于有道实现英汉字典功能
2015/07/25 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
python eventlet绿化和patch原理
2020/11/21 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
HTML5计时器小例子
2013/10/15 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
捷克时尚网上商店:OTTO
2018/03/15 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
《草原》教学反思
2014/02/15 职场文书
业务员简历自我评价
2014/03/06 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
《司马光》教学反思
2016/02/22 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技