博主信息
博文 11
粉丝 0
评论 0
访问量 13590
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于PHP的回调函数
小杂鱼
原创
3160人浏览过

回调函数

1.调用函数时不传递标准的变量作为参数,而是将另一个函数作为参数传递到调用的函数中。

2.PHP回调是指在主线函数执行过程中,先跳去执行作为参数的回调函数,回调函数执行结束后,再继续执行主线函数。

示例1

  1. function demo($arr,$callback) //主线函数
  2. {
  3. $newArr = $arr; //主线函数获取到参数
  4. $result = $callback($newArr); //主线函数获取到回调函数,因为是函数所以先跳去执行函数,执行结束后获得结果返回
  5. return $result; //主线函数返回由回调函数获得的结果
  6. }
  7. $newPlus = function($newArr) //回调函数
  8. {
  9. $c = array_sum($newArr); //array_sum() 求数组中的值的和
  10. return $c; //返回求和的值
  11. };
  12. var_dump(demo([1,2,3], $newPlus)); //int(6)

示例2

  1. function demo($arr, $callback)
  2. {
  3. $newArr = $arr;
  4. $result = $callback($newArr);
  5. return $result;
  6. }
  7. $num = demo([1,2,3], function($newArr){
  8. $c = array_sum($newArr);
  9. return $c;
  10. });
  11. var_dump($num); //int(6)

异步调用

因为PHP脚本是单线程的,脚本是同步执行的,如果遇到耗时函数会发生线程阻塞,所以要改为异步执行。

全局函数的回调

  1. //1.call_user_func($callback, $parameter) 第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数。
  2. $demo = call_user_func(function($newArr){
  3. $c = array_sum($newArr);
  4. return $c;
  5. },[1,2,3]);
  6. var_dump($demo); // int(6)
  1. //1.call_user_func_array($callback, [$parameter]) 第一个参数 callback 是被调用的回调函数,并把一个数组参数作为回调函数的参数
  2. $demo1 = call_user_func_array(function($newArr){
  3. $c = array_sum($newArr);
  4. return $c;
  5. },[[1,2,3]]);
  6. var_dump($demo1); // int(6)
  7. $demo2 = call_user_func_array(function($newArr){
  8. $c = array_sum($newArr);
  9. return $c;
  10. },array([1,2,3]));
  11. var_dump($demo2); // int(6)
批改老师:灭绝师太灭绝师太

批改状态:合格

老师批语:昨晚讲解了call_user_func()回调对象函数,可以补充进去了
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学