プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がおすすめするプログラミング教材のまとめ【書籍と動画】

プログラミング言語 スクリプト言語 コンパイル言語 アプリ開発 サーバー、インフラ、セキュリティなど 機械学習系 ゲーム開発 データベース 子供向け デザイン その他 おまけ まとめ この記事では、様々な書籍を紹介しました。 是非、自分に合 ...

続きを見る

【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を使った場合には、エラーが出ません。

まとめ

この記事では、yieldというジェネレーター構文の説明をしました。
何らかの処理をまとめたいと思った時には、yieldを使うことも検討してみて下さい。

Good luck for your engineer life!

PHPをより詳しく勉強したい人は、この記事を読んで下さい

PHPの学習でおすすめの本と動画【2020年最新】

初心者向け【入門編】 いちばんやさしい PHP の教本 「いちばんやさしいシリーズ」のPHP版です。 とりあえず、PHPをさわって動かしてみたいという人には、オススメの本です。 [改訂版]WordPress 仕事の現場でサッと使える! デザ ...

続きを見る


WordPressをより詳しく勉強したい人は、この記事を読んで下さい

WordPressの学習でおすすめの本と動画【2020年最新】

初心者向け いちばんやさしいWordPressの教本 第4版 5.x対応 これからワードプレスを始める初心者にオススメの本です。 手早くサイトを作りたい人は、この本を買いましょう^^ 非常にわかりやすいです。 WordPress標準デザイン ...

続きを見る


Rubyをより詳しく勉強したい人は、この記事を読んで下さい

Rubyの学習でおすすめの本と動画【2020年最新】

初心者向け【入門編】 スラスラ読める Rubyふりがなプログラミング ふりがなプログラミングシリーズのRuby版です。 文句なしに、やさしい内容なので、これからプログラミングを始めてみようという人は、この本から始めると良いかもしれません。 ...

続きを見る


Javaをより詳しく勉強したい人は、この記事を読んで下さい

Javaの学習でおすすめの本と動画【2020年最新】

初心者向け スッキリわかるJava入門 第3版 発売から8年であっという間に総計40万部到達した大人気シリーズの原点です。 Javaの入門書の定番で、わかりやすいことで評判です。 個人的には、「初心者を飽きさせない工夫」が素晴らしいと思いま ...

続きを見る


Gitをより詳しく勉強したい人は、この記事を読んで下さい

Gitの学習でおすすめの本と動画【2020年最新】

漫画?でわかりやすく学ぶ入門書の定番 わかばちゃんと学ぶGit使い方入門 Gitの入門書の定番と言っても差し支えありません。 絵や図で解説している本なので、わかりやすく頭に入ってきます。 初心者向け Gitが、おもしろいほどわかる基本の使い ...

続きを見る


Perlをより詳しく勉強したい人は、この記事を読んで下さい

Perlの学習でおすすめの本と動画【2020年最新】

初心者向け Perlではじめる プログラミング超入門 プログラミングの未経験者にもオススメできます。 Perlのインストール方法から基礎的な構文まで、丁寧に解説されています。 最後の方には、簡単なゲームも作ります。 かんたん Perl Pe ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-PHP, プログラミング

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