-
php 5.3新增的闭包语法介绍function() use() {}
- <?php
- function callback($callback) {
- $callback();
- }
- callback(function() {
- print "This is a anonymous function.<br />/n";
- });
- $msg = "Hello, everyone";
- $callback = function () use ($msg) {
- print "This is a closure use string value, msg is: $msg. <br />/n";
- };
- $msg = "Hello, everybody";
- callback($callback);
- $msg = "Hello, everyone";
- $callback = function () use (&$msg) {
- print "This is a closure use string value lazy bind, msg is: $msg. <br />/n";
- };
- $msg = "Hello, everybody";
- callback($callback);
- $obj = (object) "Hello, everyone";
- $callback = function () use ($obj) {
- print "This is a closure use object, msg is: {$obj->scalar}. <br />/n";
- };
- $obj = (object) "Hello, everybody";
- callback($callback);
- $obj = (object) "Hello, everyone";
- $callback = function () use ($obj) {
- print "This is a closure use object, msg is: {$obj->scalar}. <br />/n";
- };
- $obj->scalar = "Hello, everybody";
- callback($callback);
- $obj = (object) "Hello, everyone";
- $callback = function () use (&$obj) {
- print "This is a closure use object lazy bind, msg is: {$obj->scalar}. <br />/n";
- };
- $obj = (object) "Hello, everybody";
- callback($callback);
- function counter() {
- $counter = 1;
- return function() use(&$counter) {return $counter ++;};
- }
- $counter1 = counter();
- $counter2 = counter();
- echo "counter1: " . $counter1() . "<br />/n";
- echo "counter1: " . $counter1() . "<br />/n";
- echo "counter1: " . $counter1() . "<br />/n";
- echo "counter1: " . $counter1() . "<br />/n";
- echo "counter2: " . $counter2() . "<br />/n";
- echo "counter2: " . $counter2() . "<br />/n";
- echo "counter2: " . $counter2() . "<br />/n";
- echo "counter2: " . $counter2() . "<br />/n";
- ?>
-
相关阅读:
VC项目配置基础 (VC6.0 和VC2005)
使用VC2005编译静态应用程序的方法
静态库中使用MFC编译出现错误,共享DLL使用则正常的解决方案
从来没有天才 靠自己创造未来——Leo鉴书(29)
__super in MFC
c:forEach传递参数(jsp)
:first选择器(jQuery)
prev ~ siblings选择器(jQuery)
windbg 基础命令实战
查看Linux版本系统信息方法汇总
-
原文地址:https://www.cnblogs.com/xiaoleiel/p/8324246.html
Copyright © 2020-2023
润新知