[PHP入門] ユーザー定義関数(function)とは? サンプルを利用して使い方を分かりやすく解説します!

PHPでは事前用意されている組み込み関数だけでなく、ユーザーが関数を定義することができます。

このような関数のことをユーザー定義関数と呼びます。

このページではユーザー定義関数とはどのようなものか解説していきます。

1.ユーザー定義関数とは?

ユーザー定義関数とは?

ユーザー定義関数とは自分で定義できる関数のことです。

まず始めにどのような時にユーザー定義関数を使用するのがいいか考えてみましょう。

例えば、四則演算のスクリプトで考えてみましょう。

以下はユーザー定義関数を使用しない場合の四則演算です。

上記でもPHPは動作しますが、計算量が増えた場合、どうでしょうか。

同じような式を何度も記述するのは大変ですし、何よりもスクリプトが長くなり、読みにくくなる原因になります。

また、スクリプトが重複している場合、修正時、手間がかかるというデメリットもあります。

そこでユーザー定義関数の仕組みを利用することで重複するスクリプトを1カ所にまとめることができます。

以下はユーザー定義関数を使用する場合の四則演算です。

このようにスクリプトが重複する場合、ユーザー定義関数を使用することで読みやすく、修正が簡単なスクリプトにすることができます。




2.ユーザー定義関数の構文

ユーザー定義関数を使用するメリットが分かりましたので、次にユーザー定義関数の構文を見ていきましょう。

ユーザー定義関数はfunction命令を使用します。

以下がユーザー定義関数の構文です。

function 関数名(引数1, 引数2, ・・) {

return 戻り値;

}

関数名

関数名はどのような処理を行うか端的に表す名前にするといいでしょう。

引数

引数はユーザー定義関数に値を引き渡すために使用します。

引数が複数ある場合、カンマで区切り指定します。

戻り値

戻り値は関数が呼び出しもとに返す値のことです。

関数内の処理は「return」を使用することで処理結果を返すことができます。




3.型宣言

ユーザー定義関数では型宣言することができます。

型を指定することで予期しない型が引数や戻り値に渡されることを防ぐことができます。

ここでは型宣言をどのように行うかを見ていきます。

以下が型宣言の構文です。

function 関数名(引数1の型 引数1,引数2の型 引数2, ・・): 戻り値の型 {

return 戻り値;

}

引数の型は引数の直前に、戻り値の型は引数の直後に「:」で区切りで指定します。

型宣言できる型は以下の通りです。

概要
bool 真偽値
float 浮動小数点数
int 整数
string 文字列
array 配列
callable コールバック関数
self 現在のクラス
クラス/インターフェース名 指定されたクラス/インターフェース名




4.PHPをもっと学びたい方へ

最後まで読んで頂きまして、ありがとうございます。

PHPをもっと学びたいという方はいないでしょうか?

上記のように考えている方にオススメの教材があります。

確かな力が身につくPHP「超」入門

この本ではPHPの基礎構文だけでなく、商品管理システムを作りながら、PHPをより実践的に学ぶことができます。

そのため、PHPを一通り学んだ方にオススメできる一冊です。

是非、挑戦してみてはいかがでしょうか?

以下の記事でPHPを学ぶことができるオススメの本をまとめていますので、よかったらご覧になって下さい。

[初心者~中級者向け] PHPを学ぶことができるおすすめの本

Udemy

UdemyではPHPを学ぶことができる講座を多数取り扱っています。

以下の記事でPHPを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

[2021年最新版] Udemy(ユーデミー) おすすめのPHP講座

TechAcademy

TechAcademy [テックアカデミー]ではPHPを学ぶことができます。

無料体験も行っているので是非、体験してみてはいかがでしょうか?

TechAcademyについてまとめた記事もありますので、よかったらご覧になって下さい。

いくら? 悪評は? TechAcademy(テックアカデミー)とは? 口コミもまとめてみました!




5.ポイント

ポイント
  • ユーザー定義関数を使用することで重複するスクリプトを1カ所にまとめることができ、スクリプトを簡潔にすることができます
  • ユーザー定義関数は型宣言を行うことができ、予期しない型が引数や戻り値に渡されることを防ぎます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です