私がオススメするプログラミング教材です

【PHP入門】yield構文の使い方を説明します

更新日:

記事の内容


この記事では、PHPのyield構文について説明します。
yieldはジェネレーター関数の一つです。
PHPのバージョンは、7系です。

yieldのメリット

yeildには、以下の2つのメリットがあります。

  • 処理をまとめることができる
  • メモリの節約ができる

では、実際に使い方を見ていきたいと思います。

yieldの使い方

ここでは、「1から3までをループする」という部分を共通化して、yieldにしました。
ここで最初に確認して欲しいことは、処理の流れです。
ジェネレーター関数の中とforeachの中が、交互に実行されているのが、yieldの特徴です。
そして、もう一点、重要なポイントがあります。
このプログラムでは、以下の3つのことを実行していますが、ループを回しているのは一回だけです。
それは、ジェネレーターにより「1から3まで」というループ処理を共通化しているから、できることです。

  • 「1から3まで」を表示する
  • 「1から3まで」に2を掛けて表示する
  • 「1から3まで」を合計する

ジェネレーターを使わないで、同じプログラムを書いた場合は、以下のようなコードになります。
この場合、ループ処理「for」が3回、記述されていることがわかります。

yieldを連想配列にすることもできます。

yieldのメモリ効率を確認

通常のループを使う場合とyieldを使った場合では、メモリの消費量に差がつきます。
配列の中身を順番に処理したい時に、「配列を全て作ってから処理をする」と「配列を作りながら処理をする」という2つの差が出た形です。

配列に保存しようとした値が多すぎて、PHPでエラーが出ます。

yieldを使った場合には、エラーが出ません。

PHPをより詳しく勉強したい人には、この記事がオススメです


Laravelをより詳しく勉強したい人には、この記事がオススメです


WordPressをより詳しく勉強したい人には、この記事がオススメです


Rubyをより詳しく勉強したい人には、この記事がオススメです


Javaをより詳しく勉強したい人には、この記事がオススメです


Gitをより詳しく勉強したい人には、この記事がオススメです


Perlをより詳しく勉強したい人には、この記事がオススメです


ゼロからWebエンジニアになりたい人には、この記事がオススメです


独学で実務っぽい経験を積みたい人には、この記事がオススメです

-PHP, プログラミング

Copyright© プログラミング道場 , 2024 All Rights Reserved Powered by AFFINGER4.