PHP生成器简单实例

   这篇文章主要介绍了PHP生成器简单实例,本文讲解了range、xrange函数的基本使用实例,需要的朋友可以参考下

  一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。

   代码如下:

  //Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in E:phptestindex.php on line 5

  range(1, 100000000);

  PHP5.5实现了生成器,每当产生一个数组元素则用yield关键词返回,并且执行函数暂停,当执行函数next方法时,则会从上一次被yield的位置开始继续执行,如下例子,只会产生中间变量$i

   代码如下:

  function xrange($start, $limit, $step = 1) {

  for ($i = $start; $i <= $limit; $i += $step) {

  yield $i;

  }

  }

  foreach (xrange(1, 9, 1) as $number) {

  echo "$number ";

  }

时间: 2024-09-20 00:20:56

PHP生成器简单实例的相关文章

PHP生成器简单实例_php实例

一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足. 复制代码 代码如下: //Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in E:\php\test\index.php on line 5 range(1, 100000000); PHP5.5实现了生成器,每当产生一个数组元素则用yield关键词返回,并且执行函

PHP5生成条形码的简单实例

该软件支持PHP4和PHP5两个版本,本文中使用的是PHP5的版本.在使用前注意要将PHP的GD模块开启.在Windows中为php_gd2.dll,Linux中为gd.so.将压缩文件解压到Apache,执行http://localhost/barcode/index.php.PHP5生成条形码见下图: 1. Type:选择条形码类型 2. Output:输出的图片格式 3. Thickness:条形码高度 4. Resolution:条形码大小 5. Font:条形码下方的文字大小,也可不显

纯Java实现数字证书生成签名的简单实例_java

package com.ylsoft.cert; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.security.InvalidKeyException; import java.security.KeyPair; import java.security.KeyPairGenerator;

jquery实现无刷新验证码的简单实例_jquery

1. 思路: 页面上的验证码图片是servlet,采用jquery实现异步校验信息 2. 所用到的文件 VerifyCodeServlet.java   --用于生成图片的servlet ResultServlet.java          --用于校验验证码正确性的servlet verifyCode.js                  --校验的js文件 jquery.js                         --jquery包里的源文件 verifyCode.jsp   

Openresty服务器使用lua脚本写的Hello World简单实例

  这篇文章主要介绍了Openresty服务器使用lua脚本写的Hello World简单实例,OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项,需要的朋友可以参考下 Openresty提供了丰富的接口和变量给Lua,开发者可以充分利用Lua语言特性和这些接口进行高效率开发.万事开头难,但是对于编程来说能写出Hello world就已经算是成功一半了. 1.安装openr

js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称

js|对象|函数|循环 1,列举对象属性的名称<script language="javascript">var obj=new Object();obj.a="您好,我是田洪川";obj.b="你是田洪川咋的,不得了啊?";obj.c="西西,哈哈,我是属性 c ";//上面当然是申明一个新的对象,并给对象申明属性再赋值//下面我们再给上面的对象做一个镶套的对象,还是加新属性并赋值obj.d=new Object

[WEB开发] 基于XMLHTTP的简单实例

web|xml 樊欢 java爱好者.Email :heydaymail@hotmail.comBlog :http://heyday.blogone.net2005-8-23 引言 大家都知道可以通过post或者get获得form表单的数据,那么我们如何实现不刷新的提交直接获得页面上的数据呢?这就要借助xmlhttp协议了.xmlhttp是xmldom技术的一部分.  下面的代码就是一个很简单的例子,我们利用xmlhttp技术实现简单的用户登陆.   开始  1.简单的登录页面 login.j

模糊、缓冲、顺序加载、XML等的混合运用简单实例

xml|加载 放假了,没多少事,发个模糊.缓冲.顺序加载.XML等的混合运用简单实例,作品粗糙,给我等新手们参考,抛砖引玉吧,如果你觉得可以一定记得要顶帖. 第一帧上加载进度显示: stop(); load_txt.selectable = false;//动态文本用于显示加载进度 onEnterFrame = function () {         var l:Number = _root.getBytesLoaded();         var t:Number = _root.get

关于webservice的异步调用简单实例

web|异步 关于webservice的异步调用简单实例无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明.这是一个webservice <WebMethod(Description:="试验")> _ Public Function delCurTable(ByVal tbName As String) As Boolean Try Return True Catch