php闭包中如何通过use声明实现变量作用域的实例解析?

更新于
2026-09-23 06:51:19
0阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计790个文字,预计阅读时间需要4分钟。

php闭包中如何通过use声明实现变量作用域的实例解析?

原文示例:php原文内容:本文字例讲述了PHP闭包中使用use声明变量的作用域。

分享给家长供参考,具体如下:phpfunction getClosure($i) { $i=$i.'-'.date('H:i:s'); return function ($param) use ($i) { echo --- param: $param ---\n; };}

本文实例讲述了php闭包中使用use声明变量的作用域。分享给大家供大家参考,具体如下:

<?php function getClosure($i) { $i = $i.'-'.date('H:i:s'); return function ($param) use ($i) { echo "--- param: $param ---\n"; echo "--- i: $i ---\n"; }; } $c = getClosure(123); $i = 456; $c('test'); sleep(3); $c2 = getClosure(123); $c2('test'); $c('test'); /* output: --- param: test --- --- i: 123-21:36:52 --- --- param: test --- --- i: 123-21:36:55 --- --- param: test --- --- i: 123-21:36:52 --- */

如上,闭包中使用use声明的变量来自于生成闭包实例时所在作用域内的同名变量,而不是来自于运行闭包时所在作用域内的同名变量。

阅读全文
标签:作用域

本文共计790个文字,预计阅读时间需要4分钟。

php闭包中如何通过use声明实现变量作用域的实例解析?

原文示例:php原文内容:本文字例讲述了PHP闭包中使用use声明变量的作用域。

分享给家长供参考,具体如下:phpfunction getClosure($i) { $i=$i.'-'.date('H:i:s'); return function ($param) use ($i) { echo --- param: $param ---\n; };}

本文实例讲述了php闭包中使用use声明变量的作用域。分享给大家供大家参考,具体如下:

<?php function getClosure($i) { $i = $i.'-'.date('H:i:s'); return function ($param) use ($i) { echo "--- param: $param ---\n"; echo "--- i: $i ---\n"; }; } $c = getClosure(123); $i = 456; $c('test'); sleep(3); $c2 = getClosure(123); $c2('test'); $c('test'); /* output: --- param: test --- --- i: 123-21:36:52 --- --- param: test --- --- i: 123-21:36:55 --- --- param: test --- --- i: 123-21:36:52 --- */

如上,闭包中使用use声明的变量来自于生成闭包实例时所在作用域内的同名变量,而不是来自于运行闭包时所在作用域内的同名变量。

阅读全文
标签:作用域