• 售前

  • 售后

热门帖子
入门百科

PHP闭包界说与使用简朴示例

[复制链接]
永远爱你冰塘 显示全部楼层 发表于 2021-10-25 20:10:02 |阅读模式 打印 上一主题 下一主题
本文实例报告了PHP闭包界说与利用。分享给各人供各人参考,详细如下:
  1. <?php
  2. function getClosure($i)
  3. {
  4.   $i = $i.'-'.date('H:i:s');
  5.   return function ($param) use ($i) {
  6.     echo "--- param: $param ---\n";
  7.     echo "--- i: $i ---\n";
  8.   };
  9. }
  10. $c = getClosure(123);
  11. $i = 456;
  12. $c('test');
  13. sleep(3);
  14. $c2 = getClosure(123);
  15. $c2('test');
  16. $c('test');
  17. /*
  18. output:
  19. --- param: test ---
  20. --- i: 123-21:36:52 ---
  21. --- param: test ---
  22. --- i: 123-21:36:55 ---
  23. --- param: test ---
  24. --- i: 123-21:36:52 ---
  25. */
复制代码
再来一个实例
  1. $message = 'hello';
  2. $example = function() use ($message){
  3. var_dump($message);
  4. };
  5. echo $example();
  6. //输出hello
  7. $message = 'world';
  8. //输出hello 因为继承变量的值的时候是函数定义的时候而不是 函数被调用的时候
  9. echo $example();
  10. //重置为hello
  11. $message = 'hello';
  12. //此处传引用
  13. $example = function() use(&$message){
  14. var_dump($message);
  15. };
  16. echo $example();
  17. //输出hello
  18. $message = 'world';
  19. echo $example();
  20. //此处输出world
  21. //闭包函数也用于正常的传值
  22. $message = 'hello';
  23. $example = function ($data) use ($message){
  24. return "{$data},{$message}";
  25. };
  26. echo $example('world');
  27. //此处输出world,hello
复制代码
更多关于PHP相干内容感兴趣的读者可检察本站专题:《php字符串(string)用法总结》、《PHP数组(Array)操纵本领大全》、《PHP数据结构与算法教程》、《php步伐计划算法总结》、《PHP数学运算本领总结》及《PHP运算与运算符用法总结》、
希望本文所述对各人PHP步伐计划有所资助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作