中卫网站建站设计建筑网站招聘

pingmian/2025/10/12 8:32:16/文章来源:
中卫网站建站设计,建筑网站招聘,网上接网站开发不给钱怎么办,资讯网站的好处浅析 PHP 中的 Generator Miss Wang php开发案例 前天 何为 Generator 从 PHP 5.5 开始#xff0c;PHP 加入了一个新的特性#xff0c;那就是 Generator#xff0c;中文译为生成器。生成器可以简单地用来实现对象的迭代#xff0c;让我们先从官方的一个小例子说起。 xrange…  浅析 PHP 中的 Generator   Miss Wang php开发案例 前天   何为 Generator   从 PHP 5.5 开始PHP 加入了一个新的特性那就是 Generator中文译为生成器。生成器可以简单地用来实现对象的迭代让我们先从官方的一个小例子说起。   xrange   在 PHP 中我们都知道有一个函数叫做 range用来生成一个等差数列的数组然后我们可以用这个数组进行 foreach 的迭代。具体就想这样。   foreach (range(1, 100, 2) as $num) { echo {$num}\n;   }   这一段代码就会输出首项为 1末项为 100公差为 2 的等差数列。它的执行顺序是这样的。首先range(1, 100, 2) 会生成一个数组里面存了上面那样的一个等差数列之后在 foreach 中对这个数组进行迭代。   那么这样就会出现一个问题如果我要生成 100 万个数字呢那我们就要占用上百兆内存。虽然现在内存很便宜但是我们也不能这么浪费内存嘛。那么这时我们的生成器就可以排上用场了。考虑下面的代码。   function xrange($start, $limit, $step 1) { yield $start;   $start;   }foreach (xrange(1, 100, 2) as $num) { echo {$num}\n;   }   这段代码所的出来的结果和前面的那段代码一模一样但是它内部的原理是天翻地覆了。   我们刚才说了前面的代码range 会生成一个数组然后 foreach 来迭代这个数组从而取出某一个值。但是这段代码呢我们重新定义了一个 xrange 函数在函数中我们用了一个关键字 yield。我们都知道定义一个函数希望它返回一个值得时候用 return 来返回。那么这个 yield 呢也可以返回一个值但是它和 return 是截然不同的。   使用 yield 关键字可以让函数在运行的时候中断同时会保存整个函数的上下文返回一个 Generator 类型的对象。在执行对象的 next 方法时会重新加载中断时的上下文继续运行直到出现下一个 yield 为止如果后面没有再出现 yield那么就认为整个生成器结束了。   这样我们上面的函数调用可以等价地写成这样。   $nums xrange(1, 100, 2);while ($nums-valid()) { echo $nums-current() . \n;   $nums-next();   }   在这里$num 是一个 Generator 的对象。我们在这里看到三个方法valid、current 和 next。当我们函数执行完了后面没有 yield 中断了那么我们在 xrange 函数就执行完了那么 valid 方法就会变成 false。而 current 呢会返回当前 yield 后面的值这是生成器的函数会中断。那么在调用 next 方法之后函数会继续执行直到下一个 yield 出现或者函数结束。   好了到这里我们看到了通过 yield 来“生成”一个值并返回。其实yield 其实也可以这么写 $ret yield;。同返回值一样这里是将一个值在继续执行函数的时候传值进函数可以通过 Generator::send($value) 来使用。例如。   function sum(){   $ret yield; echo {$ret}\n;   }   $sum sum();   $sum-send(I am from outside.);   这样程序就会打印出 send 方法传进去的字符串了。在 yield 的两边可以同时有调用。   function xrange($start, $limit, $step 1) {   $ret yield $start;   $start; echo {$ret}\n;   }   而像这样的使用send() 可以返回下一个 yield 的返回。   其它的 Generator 方法   Generator::key()   对于 yield我们可以这样使用 yield $id $value这是我们可以通过 key 方法来获取 $id而 current 方法返回的是 $value。   Generator::rewind()   这个方法可以帮我们让生成器重新开始执行并保存上下文同时呢会返回第一个 yield 返回的内容。在第一次执行 send 方法的时候rewind 会被隐式调用。   Generator::throw()   这个方法向生成器中抛送一个异常。   后记   yield 作为 PHP 5.5 的新特性让我们用了新的方法来高效地迭代数据。同时我们还可以使用 yield 来实现协程。转载于:https://www.cnblogs.com/yyuyu/p/10003973.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

找人做网站大概多少钱关键词代发排名首页

需求 自己用PySimpleGUI写了个小工具,但是发现它的spin不支持循环。 Tkinter本身的Spinbox有wrap这个开关可以觉得是否支持循环,但是没看到PySimpleGUI也支持这个特性。 代码实现 所谓spin的循环,是指当值变换到最大最小值时,可…

网站项目建设的必要性godaddy如何创建网站

做了一个前后端分离,因为前后端的 session id不一致,导致前端请求时,后端的session读取不到对应的值,造成登录问题。 解决方法: SpringBoot项目: 添加一个跨域配置 代码如下: 或者controller使用CrossOrigin Conf…

物流企业网站重庆建设官网

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 目录 📑什么是持续集成&…

会展官方网站建设做网站专用素材

运动规划 - 知乎 (zhihu.com) 运动规划、运动控制 & 运动感知 - 知乎 (zhihu.com)

县城做信息网站招商网站的建设意义

一 有参装饰器>带有参数的函数装饰器为被装饰对象添加认证功能的装饰器,实现的基本形式如下def deco(func):def wrapper(*args,**kwargs):编写基于文件的认证,认证通过则执行resfunc(*args,**kwargs),并返回resreturn wrapper如果想提供多种不同的认证方式以供选…

建站行业解决方案百度云搜索引擎入口网盘搜索神器

BF(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符&…

做网站的那家公司好wordpress图片本地化

在短暂的沉寂,在与 Solana 手机 Saga 联合生态 Meme 币 Bonk 掀起一波 meme 浪潮,以及GPU 计算网路Render network 宣布将从公链Polygon迁往Solana 后,Solana 生态再次迎来爆发。随着 SOL 代币在 12 月暴涨,SOL 也在市值上超越了 …

网站建设预算表制作木匠手做网站

文章目录 1.6编程语言的选择1.6.1java和Scala1.6.2Python1.6.3SQL 1.6编程语言的选择 大数据编程一般会使用Java、Scala和python等编程语言,Flink目前也支持上述3种语言。 1.6.1java和Scala Java支持多线程,其生态圈中可用的第三方库众多。Java虚拟机…

苏州网站开发建设方案网站广告怎么做

一、购买服装 1.有关时尚的形容词 1)有许多可用于形容 fashion 和 clothes 的形容词。 cool 酷的 stylish 时髦的 in style 时髦 fashionable 时髦的,流行的 2)描述不喜欢的衣服 out of style 过时的 dre…

响应式网站建设源码html网站模版

Liquid Studio 提供了用于XML和JSON开发 的高级工具包以及Web 服务测试、数据映射和数据转换工具。 开发环境包含一整套用于设计 XML 和 JSON 数据结构和模式的工具。这些工具提供编辑、验证和高级转换功能。对于新手或专家来说,直观的界面和全面的功能将帮助您节省…

郑州英语网站建设费县住房和城乡建设局网站

1️⃣ LSTM介绍 标准的RNN存在梯度消失和梯度爆炸问题,无法捕捉长期依赖关系。那么如何理解这个长期依赖关系呢? 例如,有一个语言模型基于先前的词来预测下一个词,我们有一句话 “the clouds are in the sky”,基于&…

网站建设空间主机的选择网络营销试卷及答案

2.微服务的优缺点 优点 单一职责原则每个服务足够内聚,足够小,代码容易理解,这样能聚焦一个指定的业务功能或业务需求;开发简单,开发效率提高,一个服务可能就是专一的只干一件事;微服务能够被小…

网站建设公司如何营销商务网站建设的应用

双端链表 双端栈 双端队列 从实用角度,感受不出双端队列的好处,但其可以充当栈和队列的角色. 参考资料:http://baike.baidu.com/view/1627726.htm Test static void Main() {var deque new Deque<int>();Console.WriteLine("Stack:");//stackdeque.AddFirst(1…

建设一中校园网站上海app网络推广公司

目录 AJAX 简介 任务目标 创建Ajax网站 创建服务器程序 编写爬虫程序 AJAX 简介 AJAX&#xff08;Asynchronous JavaScript And XML&#xff0c;异步 JavaScript 及 XML&#xff09; Asynchronous 一种创建交互式、快速动态网页应用的网页开发技术通过在后台与服务器进行…

牙科网站开发一家专做灯的网站招聘

本文介绍对象存储OSS的主要应用场景。 图片和音视频等应用的海量存储 OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS支持流式写入和文件写入两种方式。 网页或者移动应用的静态和动态资源分离 利用海…

高端网站建设 炫酷建设部网站职责划定

前言 首先声明vue和react这两个框架都是很优秀的前端框架&#xff0c;使用的人群下载量上数量也是相当的庞大&#xff0c;这篇文章没有贬低或者攻击任何一个框架的意思&#xff0c;只在于根据答主的问题来对这两个框架做出对比&#xff0c;以方便大家更加清晰的了解到当下vue和…

企业网站建设方案.docwordpress搞笑

最近思考udp处理的一些细节&#xff0c;根据公开课&#xff0c;反复思考&#xff0c;终于有所理解&#xff0c;做整理备用。 0&#xff1a;简单汇总 1&#xff1a;udp是基于报文传输的&#xff0c;接收方收取数据时要一次性读完。 2&#xff1a;借助udp进行发包&#xff0c;…

网站排名站长之家网件路由器维修

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣144. 二叉树的前序遍历二、力扣145. 二叉树的后序遍历三、力扣94. 二叉树的中序遍历四、力扣144. 二叉树的前序遍历无、力扣145. 二叉树的后序遍历六、…

网站怎么做交易wordpress后台界面模板

文章目录 案例十六案例十七案例十八案例十九案例二十案例二十一案例二十二案例二十三案例二十四案例二十五案例二十六案例二十七案例二十八案例十六 #include<iostream> #include<cstring> //strcpy,strcmp #

邯郸网站建设效果好怎样经营好一个网站

LockSupport工具 当需要阻塞或唤醒一个线程的时候&#xff0c;都会使用LockSupport工具类来完成相应工作定义了一组公共静态方法&#xff0c;提供了最基本的线程阻塞和唤醒功能定义了一组以park开头的方法用来阻塞当前线程&#xff0c;unpark方法来唤醒一个被阻塞线程 void pa…