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框架的性能
Jan 10 PHP
PHP中for与foreach的区别分析
Mar 09 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
PHP文件操作实现代码分享
Sep 01 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
Jan 13 PHP
php使用wordwrap格式化文本段落的方法
Mar 17 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
php7 图形用户界面GUI 开发示例
Feb 22 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函数
2006/10/09 PHP
header跳转和include包含问题详解
2012/09/08 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
bootstrap网页框架的使用方法
2016/05/10 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
Python简单基础小程序的实例代码
2019/04/28 Python
Python安装selenium包详细过程
2019/07/23 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
Html5无刷新修改browser Url的方法
2014/01/15 HTML / CSS
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
高级文秘工作总结的自我评价
2013/09/28 职场文书
学校校庆演讲稿
2014/05/22 职场文书
医学生求职自荐书
2014/06/12 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
紧急迫降观后感
2015/06/15 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript