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

プログラミング道場

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

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

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

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

【Python入門】yieldを使って処理をまとめる方法

目次1 1から5までを表示させる処理2 yieldの処理 1から5までを表示させる処理 まずは、普通に以下の関数を実装します。 1から5の数字を表示する関数 1から5の数字を足して、合計を表示する関数 1から5の数字を掛けて、合計を表示する ...

続きを見る

【Ruby入門】ブロック(yield)を使う理由

目次1 1から5までを表示させる2 1から5までループする処理を共通化させる3 yieldを使う4 eachにblockを渡す 1から5までを表示させる 1から5までを表示させる処理は、普通にeachを回しながら表示させる方法でもできるし、 ...

続きを見る

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

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

▼ Laravelについてはこの記事で、バージョンごとに紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け 動画教材 【PHP入門】2ちゃんねる掲示板クローンを作りながらPHPとMySQLの基礎と本質をマスターするPHP ...

続きを見る


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

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

目次1 動画教材2 Laravel63 Laravel84 Laravel9 動画教材 【Laravel】【Vue.js3】で【CRM(顧客管理システム)】をつくってみよう ▼ 興味がある方は、画像をクリック 受講者向けアンケートでご要望の ...

続きを見る


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

WordPressの学習でおすすめの本【2023年最新】

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

続きを見る


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

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

▼ Ruby on Railsについては、この記事で紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け4 上級者向け 動画教材 "ちゃんと" Ruby を学ぼう! ー オブジェクト指向機能ってなんだ? ▼ 興味がある方は ...

続きを見る


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

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

▼ Spring Bootの勉強をしたい人には、この記事がおすすめです 目次1 動画教材2 初心者向け3 中級者向け 動画教材 動画でわかる Java入門講座 基本~オブジェクト編 ▼ 興味がある方は、画像をクリックして下さい 「初心者向け ...

続きを見る


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

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

目次1 動画教材2 漫画?でわかりやすく学ぶ入門書の定番3 初心者向け4 中級者向け5 上級者向け 動画教材 もう怖くないGit!チーム開発で必要なGitを完全マスター ▼ 興味がある方は、画像をクリック Gitの基本コマンド、ブランチやマ ...

続きを見る


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

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

目次1 動画教材2 初心者向け3 中級者向け 動画教材 Learn Perl 5 By Doing It ▼ 興味がある方は、画像をクリック 英語版です。 Webスクレイピングからデータの修正まで、実際に使えるPerlプログラムを作成しなが ...

続きを見る


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

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

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 目次1 私が定義するWebエンジニア2 必ずやるべきこと3 推奨されること4 まとめ 私が定義するWebエ ...

続きを見る


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

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

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? 目次1 スクールの理想と現実2 IT業界が抱える矛盾点3 擬似的に実 ...

続きを見る

-PHP, プログラミング

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