PHP通过字符串调用函数
2024-08-25 12:14:41
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
最新文章
- 26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展
- php语言的几种循环语句的使用格式,及其区别
- opencv的学习笔记3
- Eclipse 输入提示设置
- JavaScript —— 对象的取值与赋值
- JS保留两位小数 [转]
- Java并发——Fork/Join框架
- 【转】Java ConcurrentModificationException异常原因和解决方法
- SetFocus、SetCapture和SetActiveView的区别
- scala写算法-从后缀表达式构造
- 创建ndarray
- [转]Lua和Lua JIT及优化指南
- c++简单程序设计 实验一
- Webapi创建和使用 以及填坑(二)
- Loj #3055. 「HNOI2019」JOJO
- 笔记本 原来win10系统改装win7系统遇到 invaid signature detected.check secure boot policy setup问题
- Date和 Calendar
- 1.如何在Cloud Studio上执行Python代码?
- MFC CTreeCtrl控件
- 使用pytorch构建神经网络的流程以及一些问题
热门文章
- Dubbo 通过Spring 配置具体启动服务
- ubuntu搭建分布式hadoop-2.6.0概略和错误
- SQL语句在OLAP的妙用(多维分析与指标计算)
- Oracle 11g新参数USE_LARGE_PAGES与AMM使用 (转载)
- Android——KEYCODE列表
- 解决Git报错:The current branch is not configured for pull No value for key branch.master.merge found in configuration
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- 基础字符串处理_C++
- im4java开发向导
- Ubuntu14.04 caffe 配置