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关键词返回,并且执行函数暂停,当执行函数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-10-30 22:36:57

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

PHP中把数据库查询结果输出为json格式简单实例_php实例

include/conn.php为数据库链接文件,不会的网上搜索 <?php include './include/conn.php'; //数据库链接文件 $sql_notice = mysql_query('SELECT * FROM gg_notice where enable = "1" limit 0,10'); $notice = mysql_fetch_array($sql_notice, MYSQL_ASSOC); print_r ($notice); ?>

php解析xml 的四种简单方法(附实例)_php实例

XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. 1. XML Expat Parser: XML Parser使用Expat XML解析器.Expat是一种基于事件的解析器,它把XML文档视为一系列事件.当某个事件发生时,它调用一个指定的函数处理它.Expat是无验证的解析器,忽略任何链接到文档的DTD.但是,如果文档的形式不好,则会以一个错误

PHP与服务器文件系统的简单交互_php实例

1.php.ini中关于文件上传的设置指令 2.文件上传过程 (1)上传文件提交表单html代码: <!--向服务器上传文件的HTML表单(限制为文本文件)--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Adminstration - upoload new files</title>

php 流程控制switch的简单实例_php实例

switch允许对一个标量(表达式)的多个可能结果做选择. 语法: switch (expr) { case result1: statement1 break; case result2: statement2 break; -- default: statement } 系统计算expr的值,根据计算结果(result1.result2等)来选择下面对应执行语句,如果所有的case结果都不符合,则会执行default里的语句. 例子: <?php switch ($x) { case 0:

php while循环控制的简单实例_php实例

while循环是PHP中最简单的循环,其基本格式为: while (expr){ statement } 或者 while (expr): statement endwhile;   该语法表示,只要expr表达式为TRUE,那么就一直执行statement直到expr为FALSE为止,statement表示要执行的动作或逻辑.   <?php $i = 1; while ($i <= 10) { echo $i; $i++; } ?> 该例子循环输出1到10. 以上这篇php whil

yii添删改查实例_php实例

一.数据访问对象 (DAO) Yii DAO 基于 PHP Data Objects (PDO) 构建.它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括 MySQL, PostgreSQL 等等.因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如 PDO_MYSQL) 必须安装. Yii DAO 主要包含如下四个类: CDbConnection: 代表一个数据库连接. CDbCommand: 代表一条通过数据库执行的 SQL 语句. CDbDat

Yii不依赖Model的表单生成器用法实例_php实例

本文实例讲述了Yii不依赖Model的表单生成器用法.分享给大家供大家参考.具体实现方法如下: 默认的Yii的表单生成器只需要这样就可以了: 复制代码 代码如下: $form = new CForm('application.views.site.loginForm', $model); 这里的application.views.site.loginForm也可以是配置数组.但是如果$model参数不传的话是会报错的:Fatal error: Call to a member function

PHP SPL标准库之数据结构堆(SplHeap)简单使用实例_php实例

堆(Heap)就是为了实现优先队列而设计的一种数据结构,它是通过构造二叉堆(二叉树的一种)实现.根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆.二叉堆还常用于排序(堆排序). 如下:最小堆(任意节点的优先级不小于它的子节点) 看看PHP SplHeap的实现: 显然它是一个抽象类,最大堆(SplMaxHeap)和最小堆(SplMinHeap)就是继承它实现的.最大堆和最小堆并没有额外的方法 SplHeap的简单使用如下: class MySimpleHeap extends

smarty简单入门实例_php实例

本文以一个简单实例分析了smarty的用法.分享给大家供大家参考.具体分析如下: smarty建立配置文件.显示文件后即可,配置文件显示文件分开来,使美工跟开发工作能完美分开   配置页面代码:index.php 复制代码 代码如下: <?php  @header("Content-type: text/html; charset=UTF-8");  require '../libs/Smarty.class.php';  $my=new Smarty;  $my->tem