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新手上路(十四)
Oct 09 PHP
PHP新手上路(三)
Oct 09 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
php动态变量定义及使用
Jun 10 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
PHP7如何开启Opcode打造强悍性能详解
May 11 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
php的命名空间与自动加载实现方法
Aug 25 PHP
详解Laravel框架的依赖注入功能
May 27 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中防止SQL注入实现代码
2011/02/19 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
vuejs指令详解
2017/02/07 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
外联部演讲稿
2014/05/24 职场文书
市场总监岗位职责
2015/02/11 职场文书
劳动仲裁调解书
2015/05/20 职场文书
母亲节感言
2015/08/03 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
Python django中如何使用restful框架
2021/06/23 Python