生成器  
目前,自定义迭代器很少使用,因为它们的实现,需要大量的样板代码。生成器解决这个问题,并提供了一种简单的样板代码来创建迭代器。 
例如,你可以定义一个范围函数作为迭代器:

<?php

function *xrange($start, $end, $step = 1) {
    for ($i = $start; $i < $end; $i += $step) {
        yield $i;
    }
}

foreach (xrange(10, 20) as $i) {
    // ...
}

上述xrange函数具有与内建函数相同的行为,但有一点区别:不是返回一个PHP数组的所有值,而是返回一个迭代器动态生成的值。

参数跳跃  
如果你有一个函数接受多个可选的参数,目前没有办法只改变最后一个参数,而让其他所有参数为默认值。

RFC 上的例子,如果你有一个函数如下:

function create_query($where, $order_by, $join_type='', $execute = false, $report_errors = true) { ... }

那么有没有办法设置$report_errors=false,而其他两个为默认值。为了解决这个跳跃参数的问题而提出:

create_query("deleted=0", "name", default, default, false);

我个人不是特别喜欢这个提议。在我的眼睛里,代码需要这个功能,只是设计不当。函数不应该有12个可选参数。

转载于:https://www.cnblogs.com/ctou45/archive/2013/01/07/2849129.html

PHP5.5中新增的参数跳跃和生成器功能介绍相关推荐

  1. 深度Linux下的中望CAD软件,中望CAD Linux预装版的功能介绍,在Deepin和UOS下安装很简单...

    如果你使用的是Deepin和UOS操作系统,那么安装中望CAD Linux预装版非常的简单,只需要打开应用商店,然后搜索中望就可以对出来的结果进行安装了,下面介绍一下中望CAD Linux预装版的功能 ...

  2. 锂电池保护板中的MOS管作用与必备功能介绍

    人们对锂电池的需求也越来越高,但是对锂电池保护板却不知道这是个什么东西,更不要说锂电池保护板里最主要的元器件了,今天小编就来说一下锂电池保护板元器件最主要是IC与MOS.IC先放着下次再说,现在来说下 ...

  3. 【PHP发展史】PHP5.2 到 PHP5.6 中新增的功能详解

    为什么80%的码农都做不了架构师?>>>    截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护的 PHP5.2, 其余 ...

  4. RBP中新增自由格式报表资源之自由格式风格

    RBP的资源中心模块提供了新建资源的自由格式报表功能,本文将简单介绍一下RBP中如何使用自由格式报表的jsp入口中的自由格式风格. 进入RBP资源中心模块的某个目录,点击新增资源图标,打开新增资源设置 ...

  5. mysql5.7 sql监控_MySQL5.7中 performance和sys schema中的监控参数解释

    MySQL5.7中的mysql  performance和sys 监控参数 1.performance schema:介绍 在MySQL5.7中,performance schema有很大改进,包括引 ...

  6. 在controller中调用指定参数给指定表单_第005课:Spring Boot 中MVC支持

    Spring Boot 的 MVC 支持主要介绍实际项目中最常用的几个注解,包括 @RestController. @RequestMapping.@PathVariable.@RequestPara ...

  7. mysql5.7命中率_MySQL5.7中 performance和sys schema中的监控参数解释(推荐)

    1.performance schema:介绍 在mysql5.7中,performance schema有很大改进,包括引入大量新加入的监控项.降低占用空间和负载,以及通过新的sys schema机 ...

  8. ES5中新增的Array方法详细说明

    一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如下: forEach (j ...

  9. binlog工具_MySQL5.6新增的参数binlog_row_image到底怎么设置-爱可生

    背景 binlog_row_image这个参数是MySQL5.6新增的参数,默认值是FULL,在5.7版本默认值也是FULL,但今天我看到有客户的 MySQL5.7版本参数模板采用的是MINIMAL而 ...

最新文章

  1. python培训班排行榜-深圳python培训机构排行榜
  2. 曼昆《经济学原理》(第五版)习题解答 第三章 相互依存性与贸易的好处
  3. 21世纪初最有影响力的20篇计算机视觉期刊论文
  4. 理解 Word2Vec 之 Skip-Gram 模型【全】
  5. python列表的表示形式_将列表的字符串表示形式转换为Python中的列表
  6. java 类型通配符_java中泛型之类型通配符(?)
  7. 剑指offer(1)
  8. java day10【接口、多态】
  9. php 生成vbs文件路径,vbs下一些取特殊路径的方法总结
  10. 《第一行代码(第三版)》kotlin开发Android,学习笔记(进行中ing)
  11. MFC功能扩展控件BCGSuite for MFC入门指南
  12. C++中 =defaule 和 =delete 使用
  13. 微软office服务器连接很慢,解决 RPC 请求处理速度慢的问题
  14. finalcut剪切快捷键_Final Cut Pro 笔记(一) 常用快捷键与技巧
  15. 我的淘宝新店的辛酸与感恩
  16. Got a packet bigger than 'max_allowed_packet' bytes 问题的解决方法
  17. A40I工控主板(SBC-X40I)网络接口测试
  18. lect01_codes02_numpy
  19. MySQL趋势与前景技术分享
  20. Cherno C++ P41 C++的this关键字

热门文章

  1. mongodb数据库导出备份
  2. 七、MySQL DDL数据定义语言 学习笔记(库和表的创建、修改、删除详解 + 强化复习)
  3. LeetCode 1500. Design a File Sharing System(哈希map+优先队列)
  4. LeetCode 510. 二叉搜索树中的中序后继 II(查找右子树或者祖父节点)
  5. 全面系统地总结Linux的基本操作(上)
  6. 深入研究Python 世界的规则,我的薪资直接翻倍
  7. html-css练习题(系统提示)
  8. java 反射的弊端_java反射机制的一些学习心得小结
  9. Spring Boot应用的后台运行配置
  10. 论文浅尝 - CIKM2021 | DT-GCN: 一种双曲空间中的数据类型感知的知识图谱表示学习模型...