php类和自定义函数实例,php中三个调用用户自定义函数实例详解
在php中调有自定义函数,经常会用到call_user_func函数、call_user_func_array函数、call_user_func函数。
1,call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:<?php
//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操作,在一定程度上节省了资源:<?php
class a {
function b($c)
{
echo $c;
}
}
call_user_func(array("a", "b"),"111");
//显示 111
?>
2,call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰。
例如:<?php
//call_user_func_array 调用自定义函数
function a($b, $c)
{
echo $b;
echo $c;
}
call_user_func_array('a', array("111", "222"));
//显示 111 222
?>
call_user_func_array函数也可以调用类内部的方法。
例如:<?php
Class ClassA
{
function bc($b, $c) {
$bc = $b + $c;
echo $bc;
}
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));
//显示 333
?>
3,call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:<?php
//call_user_func函数 调用自定义函数
function a($b)
{
$b++;
}
$c = 0;
call_user_func('a', $c);
echo $c;//显示 1
call_user_func_array('a', array($c));
echo $c;//显示 2
?>
另外,call_user_func函数和call_user_func_array函数都支持引用。<?php
function increment(&$var)
{
$var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a; // 0
call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>
php类和自定义函数实例,php中三个调用用户自定义函数实例详解相关推荐
- linux中sort命令实例,Linux中文本处理工具之sort命令详解
前言 sort命令将每一行作为一个单位进行比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按一定的顺序进行输出,实际上,sort命令可以被认为是一个非常强大的数据治理工具,用来治 ...
- crashdumpandroid_Android 中Crash时如何获取异常信息详解及实例
Android 中Crash时如何获取异常信息详解 前言: 大家都知道,Android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于Android ...
- 父类指针指向子类实例,用父类指针调用虚函数,调用的是子类的函数还是父类的函数...
父类指针指向子类实例,用父类指针调用虚函数,调用的是子类的函数还是父类的函数 以下程序的显示结果是什么,为什么 #include <iostream> using namespace st ...
- 为什么构造函数不能声明为虚函数,析构函数可以,构造函数中为什么不能调用虚函数?
为什么构造函数不能声明为虚函数,析构函数可以,构造函数中为什么不能调用虚函数 构造函数中为什么不能调用虚函数? 第一个理由是概念上的 第二个理由是机械上的. 构造函数不能声明为虚函数的原因是 1 构造 ...
- lisp调用qleader端点_[分享]lisp中可用command调用的函数全集!!!!
[分享]lisp中可用command调用的函数全集!!!! [em21] [em16] lisp中command命令可以调用的函数全集: 3D 创建三维多边形网格对象 3DARRAY 创建三维阵列 3 ...
- pandas使用replace函数替换dataframe中的值:replace函数对dataframe中的多个值进行替换、即一次性同时对多个值进行替换操作
pandas使用replace函数替换dataframe中的值:replace函数对dataframe中的多个值进行替换.即一次性同时对多个值进行替换操作 目录
- pandas使用replace函数替换dataframe中的值:replace函数对dataframe中指定数据列的值进行替换、替换具体数据列的相关值
pandas使用replace函数替换dataframe中的值:replace函数对dataframe中指定数据列的值进行替换.替换具体数据列的相关值 目录
- mysql去重函数的使用方法_MySQL中使用去重distinct方法的示例详解
一 distinct 含义:distinct用来查询不重复记录的条数,即distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而 ...
- c语言常用数学函数大全查询,C语言数学函数 C语言中全部可用的数学函数有哪些?...
导航:网站首页 > C语言数学函数 C语言中全部可用的数学函数有哪些? C语言数学函数 C语言中全部可用的数学函数有哪些? 相关问题: 匿名网友: /*--------------------- ...
最新文章
- ruby简单的基础 4
- SSIS中字符串转日期格式导入数据库
- iphone静音键失灵_你知道iPhone手机中哪些一般人不知道的功能?
- python getattr函数_Python中的getattr()函数详解
- 作者:熊赟,复旦大学计算机科学技术学院副教授。
- 一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(8)--提交表单操作...
- 基于 PostgreSQL 的 EMQ X Auth ACL
- nginx上传目录配置,禁止执行权限
- C++ 链表结构的常用操作(单链表)
- AWSS3文件断点下载,分片上传,断点续传
- 网络转型中的设备硬件形态选择初探
- 为什么要使用虚拟机?
- sql server 审核
- Oracle中MONTHS_BETWEEN函数的使用
- 贸然的对音乐版权进行维护,这种激进的方式将如何收场?
- 基于MITRE ATTCK的Red Teaming行动实践
- Java产生的历史与现状
- 简帛企业云智库介绍(企业知识管理系统)
- Scratch图形化编程等级考试简介
- AutoJs学习-悬浮按钮