`

php闭包实验

PHP 
阅读更多
class IArray extends ArrayObject  
{      
	static function make($array)      
	{          
		return new self($array);      
	}

	function map($func)      
	{          
		$res = new self();
		
		foreach ($this as $k => $v)   
		{   
			$res[$k] = $func($k, $v);          
		}
		return $res;      
	}
	
	function filter($func)      
	{          
		$res = new self();
		
		foreach ($this as $k => $v)   
		{              
			if ($func($k, $v))   
			{                  
				$res[$k] = $v;             
			}      
		}
		return $res;      
	}
}

$nums = array(10,20,30,40);
$res = IArray::make($nums)->filter(function($k, $v) { return $v > 15; })->map(function($k, $v) { return $v * 2; });
print_r($res);
分享到:
评论

相关推荐

    PHP函数实验报告

    **PHP函数实验报告** 在PHP编程中,函数是组织代码的重要方式,它们允许我们重复使用已编写好的代码段,提高代码的复用性和可维护性。这份“PHP函数实验报告”详细介绍了通过实验来理解和应用PHP函数的过程,旨在...

    《细说PHP》配套源码

    12. **函数式编程**:虽然PHP更倾向于面向对象,但也有丰富的函数式编程功能,如高阶函数、闭包、匿名函数等,源码可能包含这些概念的应用。 通过研究这些源码,读者不仅可以掌握PHP的基本语法和常用函数,还能了解...

    PHP学习资料

    - 函数式编程:了解PHP中的匿名函数、闭包和高阶函数。 **二、实验资料** 每个章节通常会配合相关的实验项目,让学习者通过实践加深理解和掌握技能。例如,创建简单的动态网站、实现用户注册登录功能、处理文件...

    java8集合源码-j2php:Java到PHP的编译器

    这是一个处于早期阶段的实验项目。 不要在生产中使用。 当前状态: 特征 地位 主意 基本概念、项目结构 进行中 —— 基本包/类结构 进行中 —— 表达式、控制结构 进行中 —— 代码块、作用域、闭包 进行中 可变后缀...

    stubby4php:小型Silex玩具,可与Threads,Sockets和PHP> 5.x中所有新的好东西一起玩

    总之,Stubby4php是一个用于学习和实验PHP新特性的工具,特别是与多线程和套接字相关的功能。借助Silex框架,开发者可以快速构建原型,并深入了解如何在实际项目中运用这些技术。如果你对PHP的最新进展感兴趣,或者...

    PHP中json_encode、json_decode与serialize、unserialize的性能测试分析

    Serialize序列化后的数据可能包含函数、对象和闭包等PHP特有的信息,这些信息在不同PHP版本间可能会有兼容性问题,而且也可能不被其他语言所支持。相反,JSON格式更加标准化,更容易被不同的编程语言和平台所接受。 ...

    SilexLabs:包含 PHP Silex 微框架示例的分步课程

    西莱克斯实验室试验 PHP Silex 微框架0 - 匿名 / Lambda / 闭包函数1 - Silex 的基本示例2 - 重构应用程序3 - 路由类型和错误消息4 - 分离控制器(前端 - 后端) 5 - 从数组向应用程序添加数据6 - 类中的控制器7 - ...

    华工web程序设计作业

    此外,学习者还需了解JavaScript的数据类型、控制流程、函数等基础知识,并可能接触到闭包、原型链等进阶概念。 四、Web开发框架 随着前端开发复杂性的增加,框架的使用成为提高效率的关键。比如,Bootstrap可以...

    FIQUE-MAIS

    - **现代PHP特性**:例如命名空间、 Traits、类型提示、闭包等。 - **性能优化**:缓存策略、代码优化技巧、减少数据库查询等。 - **API集成**:与第三方服务(如支付网关、社交媒体API)的交互。 - **前端技术结合*...

    pruebaUPancho

    这个标题没有提供太多具体的信息,但我们可以推测这可能是个人或团队进行PHP技能实践的一个示例或者实验。 【描述】中的"pruebaUPancho"与标题相同,没有提供额外的信息。通常,描述会包含项目的概述、目标或者实现...

    test-laravel

    这提示我们这个 "test-laravel" 可能是作者 Minh Quys 在学习和探索 Laravel 框架的过程中创建的一个示例或实验性项目。 标签 "PHP" 确认了该项目使用 PHP 编程语言,这是 Laravel 的基础。PHP 是一种广泛应用的...

    laravel_my

    在这个项目中,"laravel_my" 可能代表了用户或开发者自己的 Laravel 实例,可能是为了学习、实验或者创建特定功能的 Web 应用。 【描述】"laravel_my" 的描述虽然简洁,但我们可以推测这是一个使用 Laravel 框架...

    Laravel开发-dev

    在“dev-master”这样的分支中,通常包含了开发中的代码,可能包括未发布的特性、实验性的改变或bug修复。开发者可以跟踪这个分支来获取最新进展,但需要注意的是,这个分支可能不够稳定,不适合作为生产环境的基础...

Global site tag (gtag.js) - Google Analytics