PHP回调函数简单用法示例
时间:2022-07-27
本文章向大家介绍PHP回调函数简单用法示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了PHP回调函数简单用法。分享给大家供大家参考,具体如下:
php中提供了两个内置的回调函数call_user_func()
、call_user_func_array()
。
这两个函数的区别是:
call_user_func_array(callable callback,array param_arr)是以数组的形式接受回调函数和参数的。
call_user_func($callback, 参数1, 参数2)参数的个数是根据回调函数来决定的。
下面是一些常见的回调函数使用的例子:
//普通函数
function f1($param1,$param2)
{
echo '函数'.__FUNCTION__.'被执行,传入的参数是:'.$param1.' '.$param2;
echo "<br/ ";
}
//通过call_user_func调用函数f1
call_user_func('f1','han','wen');
//通过call_user_func_array调用函数
call_user_func_array('f1',array('han','wen'));
运行结果:
函数f1被执行,传入的参数是:han wen 函数f1被执行,传入的参数是:han wen
class A{
public $name;
function show($param)
{
echo '传入参数是:'.$param."<br/ ";
echo 'my name is:'.$this- name;
echo "<br/ ";
}
function show1($param1,$param2)
{
echo __METHOD__.'方法被执行,传入参数是:'.$param1.' '.$param2."<br/ ";
}
public static function show2($param1,$param2)
{
echo __METHOD__.'方法被执行,传入参数是:'.$param1.' '.$param2."<br/ ";
}
}
//调用类中非静态成员函数,该成员函数中有$this调用了对象中的成员
$a = new A;
$a- name = 'wen';
call_user_func_array(array($a,'show',),array('han!'));
//调用类中非静态成员函数,没有对象被创建,该成员函数中不能有$this
call_user_func_array(array('A','show1',),array('han!','wen'));
//调用类中静态成员函数
call_user_func_array(array('A','show2'),array('param1','param2'));
运行结果:
传入参数是:han! my name is:wen A::show1方法被执行,传入参数是:han! wen A::show2方法被执行,传入参数是:param1 param2
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 配置SVN的hooks功能自动更新代码
- python六十课——高阶函数之map
- python六十一课——高阶函数之reduce
- python六十二课——高阶函数之filter
- Nginx优化配置详解
- python六十三课——高阶函数之sorted
- python六十四课——高阶函数练习题(一)
- python六十四课——高阶函数练习题(二)
- python六十四课——高阶函数练习题(三)
- Jenkins+Maven+Svn实现代码自动打包与发布
- python六十五课——单元测试(一)
- python六十六课——单元测试(二)
- Linux企业生产常见问题集合(一)答案
- python六十八课——网络编程之UDP协议
- python六十九课——网络编程之TCP协议