博主信息
博文 4
粉丝 0
评论 0
访问量 3527
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP的函数参数、匿名函数和回调函数
远程
原创
786人浏览过

一、函数的参数

  • PHP 中函数的定义
  • 通过在函数定义时的声明,函数可以由任意数目的参数。
  • 传递参数给函数的方式有两种: 按值传递 和 按 引用传递。

/**

  • @param integer $a 按值传递
  • @param integer $b 按引用传递
  • @param integer $c = 3 默认参数
    */
  1. function A(int $a, int &$b, int $c = 3) {
  2. echo $a."<br/>";
  3. echo $b."<br/>";
  4. $b += 1;
  5. echo $c."<br/>";
  6. return $a+$b;
  7. }
  8. $a = 1;
  9. $b = 1;
  10. echo A($a,$b)."<br/>";
  11. echo $b."<br/>";

//输出:
//1 输出$a的值是1
//1 输出$b的值是1
//3 输出$c的默认值是3
//3 求A+B两数之和,$b被额外+1,返回值为3
//2 由于$b 是传值引用,在add函数内被+1,显示2;

二、匿名函数

  • PHP 匿名函数
  • 通是没有一个确定函数名的函数,在PHP中也叫作闭包函数。它的用法,只能被当作变量来使用了。
  • 函数名即使是变量名。
  1. $result=function(int $a,int $b){
  2. return $a+$b;
  3. };
  4. echo $result(1,3)."<br/>";

//输出:
//4

  • 匿名函数使用函数外全局变量
  • 也可以使用引用参数,会修改全局变量值
  1. $total=function(int $d)use($a,$b):string{
  2. return $d+$a+$b;
  3. };
  4. echo $total(3);

//输出:
//6 $a,$b为全局变量,进过A函数运算,为1和2

三、回调函数

*函数作为参数传入进另一个函数中使用;PHP中有许多 “需求参数为函数” 的函数,像array_map,usort,call_user_func_array之类,他们执行传入的函数,然后直接将结果返回主函数

  1. //求0-100之内的偶数
  2. data = range(0, 100);
  3. $arr = array_map(function(int $item){
  4. if($item % 2 === 0)
  5. return $item;
  6. }, $data);
  7. $res = array_filter($arr, function($item){
  8. return $item;
  9. });//过滤值
  10. $res = array_values($res);//重新排序数组
  11. printf('<pre>%s</ pre>', print_r($res,true));

//输出:
// [2] => 2
// [4] => 4
// …
//[100] => 100

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学