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 相关文章推荐
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
php for 循环语句使用方法详细说明
May 09 PHP
php生成excel文件的简单方法
Feb 08 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
php文件读取方法实例分析
Jun 20 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
Apr 15 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 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数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
python中的装饰器详解
2015/04/13 Python
Python中属性和描述符的正确使用
2016/08/23 Python
遗传算法python版
2018/03/19 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
浅谈Python type的使用
2019/11/19 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
经销商培训邀请函
2014/01/21 职场文书
小小的船教学反思
2014/02/21 职场文书
公司经理任命书
2014/06/05 职场文书
公务员培的训心得体会
2014/09/01 职场文书
西岭雪山导游词
2015/02/06 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL