• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > Thinkphp5分页函数paginate中的each()传入自定义参数

Thinkphp5分页函数paginate中的each()传入自定义参数

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了Thinkphp5分页函数,paginate中的each()传参等相关知识,希望对您有所帮助

这篇教程来学习Thinkphp5分页函数paginate中的each()传入自定义参数的方法,如果在each函数中想要调用外面的函数或者变量怎么办?

如果在each()函数内调用外部变量,会发现直接报变量不存在的错误

->paginate($rows,false,['query'=>$where])->each(function($item){            dump($tmp); // 外部参数            $item['typename'] = .....;        })

这时会报错,如下:


Thinkphp5分页函数paginate中的each()传入自定义参数


然后我觉得是变量作用域问题,于是在each()里加了个global声明

->paginate($rows,false,['query'=>$where])->each(function($item){            global $tmp;            dump($tmp);            $item['typename'] = .....;        })

虽然不报变量不存在了,但是打印出来的值是null,还是没有调用到外面的变量


Thinkphp5分页函数paginate中的each()传入自定义参数


最后,在each()函数后调用一个use函数,即可传参成功

->paginate($rows,false,['query'=>$where])->each(function($item) use($tmp)/*添加的参数*/{            dump($tmp);            $item['typename'] = .....;        })


Thinkphp5分页函数paginate中的each()传入自定义参数


如果在函数中需要修改变量的值,会发现在函数内,变量的值改变了,但是函数外面的变量值还是没变

->paginate($rows,false,['query'=>$where])->each(function($item) use($tmp){            $tmp = $tmp + 1;            dump($tmp. '"tmp1"');            $item['typename'] =  .....;        })


Thinkphp5分页函数paginate中的each()传入自定义参数

这就是函数内外的变量作用域问题了,加一个&符即可解决

->paginate($rows,false,['query'=>$where])->each(function($item) use(&$tmp){            $tmp = $tmp + 1;            dump($tmp. '"tmp1"');            $item['typename'] =  ....;        })


Thinkphp5分页函数paginate中的each()传入自定义参数


总结

就是在 each(function($item){})中加入 use(&$tmp) 即可,如:

each(function($item) use(&$tmp){})

你学会了吗?


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Thinkphp5分页函数paginate中的each()传入自定义参数

相关文章

  • 浅谈小程序中实现下拉刷新与加载更多效果的方法
  • 分享帝国CMS随机会员头像的方法
  • PHP中怎么将整型转化为字符串类型?
  • 浅谈php正则替换函数preg_replace的用法
  • 详解thinkphp6.0.7中怎么使用JWT
  • Navicat for MySQL连接MySQL报2005错误怎么办
  • Thinkphp中JS如何获取模板变量(示例详解)
  • 搜索引擎优化10大黄金法则
  • 微信小程序自定义菜单导航实现楼梯效果
  • PhotoShop打造星云四射跳舞的女孩海报效果教程

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 【jquery】ajax 请求成功后新开窗口被拦截解决方法
    • 怎么解决PHP高并发(商品秒杀)问题?两种解决方案分享
    • DEDE内容页调用栏目的SEO标题、描述、关键字的方
    • 网站链接健康检查需要做的十件事情
    • CorelDraw制作手提袋和礼品盒
    • JS判断当前浏览器是否是微信端
    • PhotoShop制作逼真的墙面粉笔字效果
    • JS如何实现数组数据的上移下移
    • 织梦CMS整站源码通用安装教程(加固版和普通版都一样)
    • Photoshop制作燃烧效果的岩石字

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有