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 Static关键字实用方法
Jun 04 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
php ajax 静态分页过程形式
Sep 02 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
Jun 21 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
php导出excel格式数据问题
Mar 11 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
php利用gd库为图片添加水印
Nov 09 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
php成功操作redis cluster集群的实例教程
Jan 13 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代码
2007/03/08 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
php mysql 封装类实例代码
2016/09/18 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
js 居中漂浮广告
2010/03/21 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
详解layui中的树形关于取值传值问题
2018/01/16 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
Python魔术方法详解
2015/02/14 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
想学python 这5本书籍你必看!
2018/12/11 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
python 从list中随机取值的方法
2020/11/16 Python
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
接口可以包含哪些成员
2012/09/30 面试题
小车司机岗位职责
2013/11/25 职场文书
证券期货行业个人的自我评价
2013/12/26 职场文书
婚礼父母答谢词
2015/01/04 职场文书
社区党务工作总结2015
2015/05/19 职场文书