首页 > 系统相关 >使用yield大量减少服务器内存占用

使用yield大量减少服务器内存占用

时间:2023-02-11 17:45:52浏览次数:53  
标签:文件 调用 函数 生成器 yield 内存 服务器

先说几个今天认识的php内置方法

查看内存

  memory_get_usage()

  返回当前分配给你的 PHP 脚本的内存量,单位是字节(byte),用来查看方法使用了多少内存。

读取文件 

  fopen()打开一个文件或 URL。

  fgets($file) 从打开的文件中返回一行。

 

  feof($file)测试文件指针是否到了文件末尾。

通过while可以循环读取文件内容

再来到今天的重点

yield 数据量大的时候可以循环输出,而不超出内存限制

生成器函数


生成器函数看起来像普通函数——不同的是普通函数返回一个值,而生成器可以 yield 生成多个想要的值。 任何包含 yield 的函数都是一个生成器函数。
当一个生成器被调用的时候,它返回一个可以被遍历的对象.当你遍历这个对象的时候(例如通过一个foreach循环),PHP 将会在每次需要值的时候调用对象的遍历方法,并在产生一个值之后保存生成器的状态,这样它就可以在需要产生下一个值的时候恢复调用状态。


yield关键字


生成器函数的核心是yield关键字。yield关键字看起来像一个return申明,不同之处在于普通return会返回值并终止函数的执行,而yield会返回一个值给循环调用此生成器的代码并且只是暂停执行生成器函数。

 

 

标签:文件,调用,函数,生成器,yield,内存,服务器
From: https://www.cnblogs.com/shishichong/p/17112211.html

相关文章